1006 換個格式輸出整數

2021-09-07 10:34:07 字數 1055 閱讀 3719

1006 換個格式輸出整數 (15 分)

讓我們用字母 b 來表示「百」、字母 s 表示「十」,用 12…n 來表示不為零的個位數字 n(<10),換個格式來輸出任乙個不超過 3 位的正整數。例如 234 應該被輸出為 bbsss1234,因為它有 2 個「百」、3 個「十」、以及個位的 4。

輸入格式:

每個測試輸入包含 1 個測試用例,給出正整數 n(<1000)。

輸出格式:

每個測試用例的輸出佔一行,用規定的格式輸出 n。

輸入樣例 1:

輸出樣例 1:

bbsss1234

輸入樣例 2:

輸出樣例 2:

ss123

python實現**如下:

n=eval(input())

cnt=0

ls=while n>0:

x=n%10

cnt+=1

n=n//10

ls.reverse()

if cnt==3:

print('b'*ls[0]+'s'*ls[1],end='')

for i in range(ls[2]):

print(i+1,end='')

if cnt==2:

print('s'*ls[0],end='')

for i in range(ls[1]):

print(i+1,end='')

if cnt==1:

for i in range(ls[0]): #一開始我這裡寫的是for i in range(n)

print(i+1,end='') #但是當輸入為個位數的時候就沒有輸出了 ,不知道什麼情況,

#誰知道告訴我下

#發完文章又回去看了一下,一下就發現問題了

#在while迴圈裡n=n//10,出了while迴圈以後n肯定是0了,所以這裡不能用range(n)

另外呢,程式的寫法習慣不是很好,翁愷老師說程式最好只有乙個出口,而且像我這種寫法,題目的要求只要稍微變一點,程式就要改很多

現在水平就這樣,希望能快點提高

1006 換個格式輸出整數

題目是pat乙級 思路 先把數分解為百十個位,然後迴圈輸出 訓練目的 數的分解 迴圈 題目描述 讓我們用字母b來表示 百 字母s表示 十 用 12.n 來表示個位數字n 10 換個格式來輸出任乙個不超過3位的正整數。例如234應該被輸出為bbsss1234,因為它有2個 百 3個 十 以及個位的4。...

1006 換個格式輸出整數

讓我們用字母b來表示 百 字母s表示 十 用 12.n 來表示個位數字n 10 換個格式來輸出任乙個不超過3位的正整數。例如234應該被輸出為bbsss1234,因為它有2個 百 3個 十 以及個位的4。輸入格式 每個測試輸入包含1個測試用例,給出正整數n 1000 輸出格式 每個測試用例的輸出佔一...

1006 換個格式輸出整數

時間限制 400 ms 記憶體限制 65536 kb 長度限制 8000 b 判題程式 standard 作者 chen,yue 讓我們用字母b來表示 百 字母s表示 十 用 12.n 來表示個位數字n 10 換個格式來輸出任乙個不超過3位的正整數。例如234應該被輸出為bbsss1234,因為它有...