hdoj 1013
解题分析
24 ------》 2+4=6-------------》6<=10-------------》输出6
38------------》3+8=11----------》11>=10------------》1+1=2----------------》输出2
注意
1、这里求各个数位之和时,可以用char - '0'来实现;
2、刚开始接收n时用String类型更方便,不然可能会有大数问题;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while (!sc.hasNext("0")) {
String n = sc.next();
do {
n = f(n);
} while (Integer.parseInt(n) >= 10);
System.out.println(n);
}
}
private static String f(String n) {
int sum = 0;
for (char c : n.toCharArray()) {
sum += c - '0';
}
return String.valueOf(sum);
}
}
以上代码,修改n接收类型会WA(n可能会很大): String n = sc.next()--》Integer n = sc.nextInt();
参考:
https://blog.csdn.net/qq_37644539/article/details/79846594