PAT乙级-1002-写出这个数

2019-01-21-PAT乙级-1002-写出这个数

PAT乙级-1002-写出这个数

原文链接:1002 写出这个数

github代码地址:HibisciDai/OJ-PAT-ACM

PAT乙级-1002-写出这个数

编程描述

读入一个正整数 n,计算其各位数字之和,用汉语拼音写出和的每一位数字。

辅助描述

1
2
3
4
5
作者: CHEN, Yue
单位: 浙江大学
时间限制: 400 ms
内存限制: 64 MB
代码长度限制: 16 KB

输入格式

每个测试输入包含 1 个测试用例,即给出自然数 n 的值。这里保证 n 小于 $ 10^{100} $。

输出格式

在一行内输出 n 的各位数字之和的每一位,拼音数字间有 1 空格,但一行中最后一个拼音数字后没有空格。

输入样例

1
1234567890987654321123456789

输出样例

1
yi san wu

算法实现

JAVA(openjdk)

代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
import java.util.Scanner;

public class Main {

public static Scanner sc = new Scanner(System.in);
public static int add = 0;
public static String[] name = new String[]{"ling", "yi", "er", "san", "si", "wu", "liu", "qi", "ba", "jiu", "shi"};

public static String change(int n) {
String s = String.valueOf(n);
String u = "";
for (int i = 0; i < s.length(); i++) {
u += name[Integer.parseInt(String.valueOf(s.charAt(i)))];

if (i != s.length() - 1) {
u += " ";
}
}
return u;
}

public static void main(String[] args) {
String input = sc.next();
for (int i = 0; i < input.length(); i++) {
add += Integer.parseInt(String.valueOf(input.charAt(i)));
}

System.out.println(change(add));
}
}

运行结果

1
2
3
4
5
6
7
8
9
状态	分数	题目	编译器	耗时	用户
答案正确 20 1002 Java (openjdk) 212 ms HibisciDai
测试点 结果 耗时 内存
0 答案正确 125 ms 11420 KB
1 答案正确 181 ms 10976 KB
2 答案正确 208 ms 11052 KB
3 答案正确 157 ms 11344 KB
4 答案正确 174 ms 11052 KB
5 答案正确 212 ms 11276 KB

C

代码

1
2


运行结果

1
2


文章作者: HibisciDai
文章链接: http://hibiscidai.com/2019/01/21/2019-01-21-PAT乙级-1002-写出这个数/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 HibisciDai
支付宝打赏
微信打赏