题解 | 数位之和
数位之和
https://www.nowcoder.com/practice/5e85cc26475449648e668aa98e92d05b?tpId=383&tags=&title=&difficulty=0&judgeStatus=0&rp=0&sourceUrl=
#include <bits/stdc++.h>
using namespace std;
int main() {
int n;
cin>>n;
if(n<0){n=abs(n);}
int sum = 0;
while (n > 0) {
sum += n % 10;
n /= 10;
}
cout << sum;
}
举个例子:以 123为例
- 第 1 轮:取个位:123 % 10 得到 3 ——> 把它加到 sum 里。去个位:123 / 10 得到 12 ——> 剩下的数字变小了。
- 第 2 轮:取个位:12 % 10 得到 2 ——> 加到 sum 里。去个位:12 / 10 得到 1。
- 第 3 轮:取个位:1 % 10 得到 1 ——> 加到 sum 里。去个位:1 / 10 得到 0。
- 结束条件: 当数字变成 0 时,循环结束。
查看1道真题和解析