微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

hdu 4608 暴力大数

虽然长度是10^5,但累加次数不会超过20次,相当于2*10^6,暴力时间足够了

#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
using namespace std;
char a[100020];
int main()
{
    int T;
    cin>>T;
    while(T--)
    {
        int sum=0;
        scanf("%s",a+1);a[0]='0';
        int len=strlen(a);
        for(int k=1;;k++)
        {
            int s=a[len-1]+1-'0';
            int sum=0;
            int flag=1;
            for(int i=len-1;i>=0;i--)
            {
             if(flag){
                a[i]=s%10+'0';
                if(s>9)
                {
                    a[i-1]++;
                    s=a[i-1]-'0';
                }
                else flag=0;
             }
                sum+=a[i]-'0';
            }
            if(sum%10==0)
            {
                if(a[0]=='0') puts(a+1);
                else puts(a);
                break;
            }
        }
    }
    return 0;
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐