1136 A Delayed Palindrome

采用大整数加法计算。

#include<bits/stdc++.h>
using namespace std;
string s;
void add(string x){
	int flag=0;
	for(int i=x.length()-1;i>=0;i--){
		int temp=s[i]-'0'+x[i]-'0'+flag;
		flag=0;
		if(temp>9){
			temp=temp-10;
			flag=1;
		}
		s[i]=temp+'0';
	}
	if(flag==1)
		s='1'+s;
}

int main(){
	cin>>s;
	bool get=false;
	for(int i=0;i<10;i++){
		string t=s;
		reverse(s.begin(),s.end());
		if(s==t){
			get=true;
			break;
		}
		cout<<t<<" + "<<s<<" = "; 
		add(t);
		cout<<s;
		cout<<endl;
	}
	if(get)
		cout<<s<<" is a palindromic number.";
	else
		cout<<"Not found in 10 iterations.";
	return 0;
}

上一篇:494. 目标和


下一篇:[LeetCode] 1278. Palindrome Partitioning III 拆分回文串之三