1136 A Delayed Palindrome

时间:2023-03-09 22:56:39
1136 A Delayed Palindrome

题意:略。

思路:大整数相加,回文数判断。对首次输入的数也要判断其是否是回文数,故这里用do...while,而不用while。

代码:

#include <iostream>
#include <string>
#include <algorithm>
using namespace std;

bool judge(const string &str)
{
    ,j=str.size()-;
    while(i<=j){
        if(str[i]!=str[j]) return false;
        i++;
        j--;
    }
    return true;
}

string add(const string& s1,const string& s2)
{
    string sum;
    ,temp,d;
    ;i>=;i--){
        temp=carry+(s1[i]-');
        d=temp%;
        carry=temp/;
        sum=,d+')+sum;
    }
    ) sum=,carry+')+sum;
    return sum;
}

int main()
{
    string s1,s2;
    cin>>s1;
    ;
    do{
        if(judge(s1)){
            cout<<s1<<" is a palindromic number.\n";
            break;
        }
        s2=s1;
        reverse(s2.begin(),s2.end());
        string sum=add(s1,s2);
        cout<<s1<<" + "<<s2<<" = "<<sum<<"\n";
        s1=sum;
    }while(--cnt);
    ) cout<<"Not found in 10 iterations.\n";
    ;
}