PAT乙级1079 延迟的回文数 (20 分)
Posted 辉小歌
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PAT乙级1079 延迟的回文数 (20 分)相关的知识,希望对你有一定的参考价值。
#include<cstdio>
#include<iostream>
#include<string>
#include<algorithm>
#include<vector>
using namespace std;
bool check(vector<int> s)
{
int t=s.size();
for(int i=0;i<t/2;i++)
if(s[i]!=s[t-1-i]) return false;
return true;
}
void print(vector<int> ve)
{
for(int i=ve.size()-1;i>=0;i--) cout<<ve[i];
}
vector<int> add(vector<int>A,vector<int> B)
{
int t=0;
vector<int> C;
for(int i=0;i<A.size()||i<B.size();i++)
{
if(i<A.size()) t+=A[i];
if(i<B.size()) t+=B[i];
C.push_back(t%10);
t/=10;
}
if(t) C.push_back(1);
return C;
}
int main(void)
{
string s; cin>>s;
vector<int>a,b,sum;
for(int i=s.size()-1;i>=0;i--) a.push_back(s[i]-'0');
int k=0;
if(!check(a))
for(k=1;k<=10;k++)
{
b=a;
reverse(a.begin(),a.end());
sum=add(a,b);
print(b),cout<<" + ",print(a),cout<<" = ",print(sum);
cout<<endl;
a=sum;
if(check(sum)) break;
}
if(k>10) printf("Not found in 10 iterations.");
else print(a),printf(" is a palindromic number.");
}
以上是关于PAT乙级1079 延迟的回文数 (20 分)的主要内容,如果未能解决你的问题,请参考以下文章