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,因為它有...