題目連結
題意:
一個十進位的單位唸法轉換
像我們一般說 6958為
6 千 9 百 5 十 8
這些千、百、十分別代表1000, 100, 10
給定一個數字(最大到十進位的15個9)
按照題目要求的單位輸出對應唸法
題目的單位如下:
’kuti’ (10000000) <8位數>
’lakh’ (100000) <6位數>
’hajar’ (1000) <4位數>
’shata’ (100) <3位數>
例如:
23764 = 23 hajar 7 shata 64
因為範圍可能到15位數
超過kuti的要重複編
像是:
45897458973958 =
45 lakh 89 hajar 7 shata 45 kuti 89 lakh 73 hajar 9 shata 58
解法:
因為每7位數一個循環判斷
可以寫一個函式遞迴跑
遇到大於7位,輸出 kuti後
再執行函式,參數放除以10^7後的數
其他幾個單位也可以用相同方式
輸出對應文字後
以除後的數當參數再跑函式即可
須注意,每個數字輸出之前
題目要求要先輸出是第幾個數字
如第一個: 1.
格式是4個字元靠右
可以用printf的%4d表示
另外,百位以下如果是0,如200
0不必輸出,也就是 2 shata
但如果輸入本身是0,又必須輸出 0
這點要想辦法判斷
程式(Java):
題意:
一個十進位的單位唸法轉換
像我們一般說 6958為
6 千 9 百 5 十 8
這些千、百、十分別代表1000, 100, 10
給定一個數字(最大到十進位的15個9)
按照題目要求的單位輸出對應唸法
題目的單位如下:
’kuti’ (10000000) <8位數>
’lakh’ (100000) <6位數>
’hajar’ (1000) <4位數>
’shata’ (100) <3位數>
例如:
23764 = 23 hajar 7 shata 64
因為範圍可能到15位數
超過kuti的要重複編
像是:
45897458973958 =
45 lakh 89 hajar 7 shata 45 kuti 89 lakh 73 hajar 9 shata 58
解法:
因為每7位數一個循環判斷
可以寫一個函式遞迴跑
遇到大於7位,輸出 kuti後
再執行函式,參數放除以10^7後的數
其他幾個單位也可以用相同方式
輸出對應文字後
以除後的數當參數再跑函式即可
須注意,每個數字輸出之前
題目要求要先輸出是第幾個數字
如第一個: 1.
格式是4個字元靠右
可以用printf的%4d表示
另外,百位以下如果是0,如200
0不必輸出,也就是 2 shata
但如果輸入本身是0,又必須輸出 0
這點要想辦法判斷
程式(Java):
留言
張貼留言