计算每一位数字
在竞赛题目中,计算某个整数的每一位数字并以此进行各种操作的题目并不少见,因此这里将此类问题归纳一下,总结为一个模板供以后参考
假设有一数字,现需要将该数的每一位数字相加,输出相加后的结果
代码如下:
1 #include <iostream> 2 using namespace std; 3 4 int main() { 5 int n = 0; 6 cin >> n; 7 int sum = 0; 8 int divisor = n, remainder = 0; 9 while (divisor >= 10) { 10 remainder = divisor % 10; 11 divisor /= 10; 12 sum += remainder; 13 } 14 sum += divisor; 15 cout << sum << endl; 16 17 return 0; 18 }
对以上代码进行简单分析:
除数和被除数变量每循环一次进行一次值的更新,当除数小于10时跳出循环,否则每一次计算结束后对更新后的被除数进行累加,当跳出循环后最后再对除数进行一次累加——表示的该数的最后一个数字