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 分)的主要内容,如果未能解决你的问题,请参考以下文章

PTA乙级(1079 延迟的回文数 (20分))

PAT Baisc 1079 延迟的回文数 (20 分)

PAT Basic 1079

PAT 1079. 延迟的回文数

1079 延迟的回文数 (20 分)

PTA basic 1079 延迟的回文数 (20 分) c++语言实现(g++)