時間限制
400 ms
記憶體限制
65536 kb
**長度限制
8000 b
判題程式
standard
作者chen, yue
讀入乙個自然數n,計算其各位數字之和,用漢語拼音寫出和的每一位數字。
輸入格式:每個測試輸入包含1個測試用例,即給出自然數n的值。這裡保證n小於10100。
輸出格式:在一行內輸出n的各位數字之和的每一位,拼音數字間有1 空格,但一行中最後乙個拼音數字後沒有空格。
輸入樣例:
1234567890987654321123456789
輸出樣例:
yi san wu
c/c++:
#include #include using namespace std;
int main ()
i=0;
while ( b != 0)
for (int y = i-1;y >= 0;y--)
if (y != 0)
cout << " ";
}}
用c/c++寫,其實難度不大,由於資料位數比較大,將其變成字串,然後從字串轉化成數字,及減去'0'。
然後相加,分離位數,每一位轉換成漢語拼音輸出,注意空格的要求。
python:
num = raw_input()
d =
sum = 0
for i in range(len(num)):
sum = int(num[i])+sum
sum = str(sum)
for i in range(len(sum)):
if sum[i] == '0':
print "ling",
if sum[i] == '1':
print "yi",
if sum[i] == '2':
print "er",
if sum[i] == '3':
print "san"
if sum[i] == '4':
print "si",
if sum[i] == '5':
print "wu",
if sum[i] == '6':
print "liu",
if sum[i] == '7':
print "qi",
if sum[i] == '8':
print "ba",
if sum[i] == '9':
print "jiu",
用python寫更簡單,直接字串與數字之間型別轉化,注意print的輸入輸出不換行的用法,在print 「***」之後加乙個「,」。(python 2.7)
**已經測試通過
過了一年,重新看一看當初的**,感覺太醜陋了。
重新用python3寫了一次。
num = input()
lst = ['ling','yi','er','san','si','wu','liu','qi','ba','jiu']
sum = 0
for i in range(len(num)):
sum = int(num[i])+sum
sum = str(sum)
for i in sum[:-1]:
print (lst[int(i)],end = ' ')
print(lst[int(sum[-1])])
依然是最後的格式輸出有點煩,最後乙個輸出重新寫了一句。 PAT 1002 寫出這個數 20
讀入乙個自然數n,計算其各位數字之和,用漢語拼音寫出和的每一位數字。輸入格式 每個測試輸入包含1個測試用例,即給出自然數n的值。這裡保證n小於10100。輸出格式 在一行內輸出n的各位數字之和的每一位,拼音數字間有1 空格,但一行中最後乙個拼音數字後沒有空格。輸入樣例 123456789098765...
PAT 1002 寫出這個數 20
讀入乙個自然數n,計算其各位數字之和,用漢語拼音寫出和的每一位數字。輸入格式 每個測試輸入包含1個測試用例,即給出自然數n的值。這裡保證n小於10100。輸出格式 在一行內輸出n的各位數字之和的每一位,拼音數字間有1 空格,但一行中最後乙個拼音數字後沒有空格。輸入樣例 123456789098765...
PAT 1002 寫出這個數 20
時間限制 400 ms 記憶體限制 65536 kb 長度限制 8000 b 判題程式 standard 作者 chen,yue 讀入乙個自然數n,計算其各位數字之和,用漢語拼音寫出和的每一位數字。輸入格式 每個測試輸入包含1個測試用例,即給出自然數n的值。這裡保證n小於10100。輸出格式 在一行...