1 条题解
-
0
C :
#include<stdio.h> #include<string.h> int main() { int n,sum; while(1) { char a[20000]; scanf("%s",a); if(a[0]=='0')break; sum=0; n=strlen(a); for(int i=0;i<n;i++) //首次处理,期望回十亿之内 { sum+=(a[i]-'0'); //计数 //printf("%d\t",sum); } sum%=9; if(sum==0)printf("9\n"); else printf("%d\n",sum); }/**/ return 0; }
C++ :
#include <stdio.h> int DigitalRoot(int num){ int root = num; while(root >= 10){ root = 0; while(num){ root += num%10; num /= 10; } num = root; } return root; } int main(){ char strN[1000]; while(scanf("%s",strN), strN[0]!='0'){ int i=0, n=0; while(strN[i]){ n += strN[i]-'0'; i++; } printf("%d\n", DigitalRoot(n)); } return 0; }
- 1
信息
- ID
- 1717
- 时间
- 1000ms
- 内存
- 32MiB
- 难度
- (无)
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者