#29442: java 解答


a0983767344@gmail.com (大毛)

學校 : 國立暨南國際大學
編號 : 124780
來源 : [163.22.18.73]
最後登入時間 :
2023-03-18 13:56:28
a741. 10101 - Bangla Numbers -- UVa10101 | From: [163.22.18.57] | 發表日期 : 2022-03-02 16:42

import java.util.Scanner;

public class BanglaNumbers {
    public static void main(String[] argv) {
        Scanner input = new Scanner(System.in);
        //標號
        int bo = 1;
        while (input.hasNext()) {
            long a = input.nextLong();
            int[] data = {100, 10, 100, 100};
            String[] sum = {"", "shata", "hajar", "lakh"};
            StringBuffer ans = new StringBuffer();
            if (a == 0)
                ans.insert(0, "0");
            for (int i = 0; a!=0; i++) {
                //如果不是第一位且已達kuti分界
                if (i!=0 && i%4 == 0)
                    ans.insert(0, " kuti");
                //如果餘0不輸出
                if (a%data[i%4] != 0) {
                    ans.insert(0, sum[i%4]);
                    //如果i%4==0會輸出" kuti",所以不用再加空格
                    if (i%4 != 0)
                        ans.insert(0, " ");
                    ans.insert(0, a%data[i%4]);
                    //如果a/data[i%4]!=0表示還沒到最後數字,所以加上空格
                    if (a/data[i%4] != 0)
                        ans.insert(0, " ");
                }
                a = a/data[i%4];
            }
            //輸出結果
            System.out.println(bo + ". " + ans);
            bo++;
        }
    }
}
 
ZeroJudge Forum