算法|Acwing3173. 缩位求和

在电子计算机普及以前,人们经常用一个粗略的方法来验算四则运算是否正确。
比如:248×15=3720
把乘数和被乘数分别逐位求和,如果是多位数再逐位求和,直到是 1 位数,得

2 + 4 + 8 = 14 ==> 1 + 4 = 5; 1 + 5 = 6 5 * 6

而结果逐位求和为 3
5?6 的结果逐位求和与 3 符合,说明正确的可能性很大!!(不能排除错误)
请你写一个计算机程序,对给定的字符串逐位求和。
输入格式
一个由数字组成的串,表示 nn 位数。
输出格式
一位数,表示反复逐位求和的结果。
数据范围
1≤n≤1000
输入样例1:
35379

输出样例1:
9

输入样例2:
7583676109608471656473500295825

输出样例2:
1

#include #include #include using namespace std; int main() { string s; int sum , t; cin >> s; for (int i = 0; i < s.size(); i ++ ){ sum=sum+(int)(s[i]-'0'); } while(sum>=10){//分离位数法 t=sum; sum=0; //每次循环前sum归零 while(t!=0){ sum=sum+t%10; //t%10得到每一个个位 t=t/10; } } cout<

【算法|Acwing3173. 缩位求和】

    推荐阅读