题目描述
一个正整数的数字根是它所有数字的和,如果这个结果是一位数,则计算结束,否则继续计算直到一位数为止。
输入输出格式
输入格式:
一个整数n。(n≤10的10000方)。
输出格式:
一个整数k,表示n的数字根。
输入输出样例
输入样例#1:
24
输出样例#1:
6
题解:
#include <cstdio>
const int N=10005;
int main(){
/*int c, sum=0;
while ((c=getchar())!='\n')
sum+=c-'0';*/
char s[N];
int sum=0;
scanf("%s", s);
for (int i=0; s[i]; i++)
sum+=s[i]-'0';
printf("%d\n", sum%9==0 ? 9 : sum%9); //弃9法
/*//
//普通的循环求解
while (sum>=10){
int x=0;
for (; sum>0; sum/=10)
x+=sum%10;
sum=x;
}
printf("%d\n", sum);
*/
return 0;
}