题目描述
在电子计算机普及以前,人们经常用一个粗略的方法来验算四则运算是否正确。
比如:248×15=3720248×15=3720
把乘数和被乘数分别逐位求和,如果是多位数再逐位求和,直到是 1 位数,得
2+4+8=14==>1+4=52+4+8=14==>1+4=5;
1+5=61+5=6;
5×65×6
而结果逐位求和为 3。
5×65×6 的结果逐位求和与 3 符合,说明正确的可能性很大!!(不能排除错误)
请你写一个计算机程序,对给定的字符串逐位求和。
输入描述
输入描述
输入为一个由数字组成的串,表示n (n<1000) 位数;
输出描述
输出为一位数,表示反复逐位求和的结果。
输入输出样例
示例
输入
35379
输出
9
运行限制
最大运行时间:1s
最大运行内存: 256M
推到过程:
35379
27
9
代码:
import java.util.Scanner;
public class 缩位求和 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String s = scanner.next();
while (s.length() != 1) {
int sum = 0;
for (int i = 0; i < s.length(); i++) {
sum += s.charAt(i) - '0';
}
s = String.valueOf(sum);
}
System.out.println(s);
}
}