1136 A Delayed Palindrome

Posted keep23456

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了1136 A Delayed Palindrome相关的知识,希望对你有一定的参考价值。

 由于给出的数可能超出 long long范围,所以不能对两数直接求和,必须模拟加法运算过程,不然最后一个测试点无法通过。

中文版。

 1 #include<iostream>
 2 #include<algorithm>
 3 using namespace std;
 4 
 5 bool isPalindrome(string str) {
 6     for(int i = 0; i < str.size()/2; ++i)
 7         if(str[i] != str[str.size()-1-i]) return false;
 8     return true;
 9 }
10 
11 int main() {
12     string a,b;
13     cin>>a;
14     int flag = 0;
15     for(int i = 0; i < 10; ++i) {
16         if(isPalindrome(a)) {
17             flag = 1;
18             break;
19         }
20         b = a;
21         reverse(b.begin(),b.end());
22         b.insert(0,a.size()-b.size(),0);
23         int carry = 0;
24         string sum;
25         for(int i  = a.size()-1; i>=0; --i) {
26             sum += (a[i]-0+b[i]-0+carry)%10 +0;
27             carry = (a[i]-0+b[i]-0+carry)/10;
28         }
29         if(carry != 0) sum += carry+0;
30         reverse(sum.begin(),sum.end());
31         printf("%s + %s = ",a.c_str(),b.c_str());
32         a = sum;
33         printf("%s
",a.c_str());
34     }
35     if(flag == 1) printf("%s is a palindromic number.
",a.c_str());
36     else printf("Not found in 10 iterations.
");
37     return 0;
38 }

技术图片

 

以上是关于1136 A Delayed Palindrome的主要内容,如果未能解决你的问题,请参考以下文章

PAT1136:A Delayed Palindrome

pat 1136 A Delayed Palindrome(20 分)

PAT 1136 A Delayed Palindrome[简单]

pat 1136 A Delayed Palindrome

1136 A Delayed Palindrome (20)

1136 A Delayed Palindrome