E - Digital Roots HDU - 1013

Posted pipitongkw1

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了E - Digital Roots HDU - 1013相关的知识,希望对你有一定的参考价值。

wa了两遍:

(1)没有弄清楚输入数据的范围,实际上是字符串输入,数字很大。

(2)此题太水,没有标数据范围。

#include<iostream>
#include<cstdio>
#include<algorithm>
#include<string>
#include<cstring>

#define ll long long
using namespace std;
#define maxn 1000000000
char s[maxn];

int main()
{
    while(~scanf("%s",s))
    {
        if(s[0]==0)
            break;
        ll sum=0;
        ll len=strlen(s);

        //(1)
        for(int i=0; i<len; i++)
        {
            sum+=s[i]-0;
        }

        ll tmp=sum;
        while(sum>=10)
        {
            sum=0;
            while(tmp)
            {
                sum+=tmp%10;
                tmp/=10;
                
            }
            tmp=sum;
        }
        cout<<sum<<endl;
    }
    return 0;
}

 

以上是关于E - Digital Roots HDU - 1013的主要内容,如果未能解决你的问题,请参考以下文章

hdu 1013 Digital Roots

HDU1013 Digital Roots 模拟//数学题

HDU 1013 Digital Roots

Hdu 1013 Digital Roots

HDU 1163 Eddy's digital Roots

HDU 1013 Digital Roots(两种方法,求数字根)