杭电ACM1013

Digital Roots

题目:

24的根:2+4=6

39的根:3+9=12;1+2=3

当输入0时,结束运行。

input:   24

      39

    0

output: 6

      3


分析:

1.把输入的字符串转换成数字:n+=a[i]-'0'。

2.只要sum>9,则不断执行:sum+=n%10;n/=10;


代码1:

#include
#include
using namespace std;

int main(){
    char a[1000];
    int i,j,sum,n;
    while(cin>>a){
        sum=0;
        n=0;
        if(strcmp(a,"0")==0) break;
        int len=strlen(a);
        for(i=0;i9);
        cout<

代码2:

大神说这题其实是对9取模,。。

#include
#include
using namespace std;

int main(){
    int n=0,i;
    char s[1000];
    while(cin>>s){
        if(strcmp(s,"0")==0) break;
        int len=strlen(s);
        for(i=0;i9){
            n%=9;
        }
        if(n==0)
            cout<<"9"<




你可能感兴趣的:(杭电acm)