zoukankan      html  css  js  c++  java
  • 1136 A Delayed Palindrome (20 分)

    要上高精度。

    const int N=10010;
    struct bignum
    {
        int m[N];
        int len;
        bignum()
        {
            memset(m,0,sizeof m);
            len=0;
        }
    };
    int n;
    
    bool check(string s)
    {
        for(int i=0;i<s.size()/2;i++)
            if(s[i] != s[s.size()-1-i])
                return false;
        return true;
    }
    
    bignum trans(string s)
    {
        bignum c;
        c.len=s.size();
        for(int i=0;i<s.size();i++)
            c.m[i]=s[s.size()-1-i]-'0';
        return c;
    }
    
    bignum add(bignum a,bignum b)
    {
        bignum c;
        c.len=max(a.len,b.len);
        int carry=0;
        for(int i=0;i<c.len;i++)
        {
            int t=a.m[i]+b.m[i]+carry;
            c.m[i]=t%10;
            carry=t/10;
        }
        if(carry) c.m[c.len++]=carry;
        return c;
    }
    
    int main()
    {
        string s;
        cin>>s;
    
        bool ok=false;
        for(int i=0;i<10;i++)
        {
            if(check(s))
            {
                ok=true;
                break;
            }
            string sa=s;
            reverse(s.begin(),s.end());
            string sb=s;
            bignum a=trans(sa);
            bignum b=trans(sb);
            bignum c=add(a,b);
            string res;
            for(int i=c.len-1;i>=0;i--)
                res+='0'+c.m[i];
            s=res;
            cout<<sa<<" + "<<sb<<" = "<<s<<endl;
        }
    
        if(ok) cout<<s<<" is a palindromic number."<<endl;
        else cout<<"Not found in 10 iterations."<<endl;
        //system("pause");
        return 0;
    }
    
    
  • 相关阅读:
    django实现github第三方本地登录
    django扩展User模型(model),profile
    WSGI
    Linux查看配置文件中未被注释的有效配置行
    virsh 命令
    qemu-img命令
    python logging
    oslo.messaging
    集成kafka的身份认证(SASL/PLAIN)到kubernets环境中
    Helm基础知识
  • 原文地址:https://www.cnblogs.com/fxh0707/p/14477229.html
Copyright © 2011-2022 走看看