HDU 1013 Digital Roots
Digital Roots
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 62631    Accepted Submission(s): 19453
For example, consider the positive integer 24. Adding the 2 and the 4 yields a value of 6. Since 6 is a single digit, 6 is the digital root of 24. Now consider the positive integer 39. Adding the 3 and the 9 yields 12. Since 12 is not a single digit, the process must be repeated. Adding the 1 and the 2 yeilds 3, a single digit and also the digital root of 39.
#include<stdio.h>
#include<string.h>
int main()
{
    char a,b;
    int s1,s2;
    while(1)
    {
        s1=0;
        scanf("%c",&a);
        if(a=='0')
            break;
        s1=s1+a-'0';
        s2=0;
        while(1)
        {
            scanf("%c",&a);
            if(a=='\n')
                break;
            s1=s1+a-'0';
        }
        while(1)
        {
            while(s1!=0)
            {
                s2=s2+s1%10;
                s1=s1/10;
            }
            if(s2<10)
                break;
            else
            {
                s1=s2;
                s2=0;
            }
        }
        printf("%d\n",s2);
    }
    return 0;
}
                    
                
                
            
        
浙公网安备 33010602011771号