2188 - 找出最小回文数
给出一个数X, 求比X大的最小的回文数!(如12321, 11都是回文)
Input
有多行输入,每行输入只有一个正整数X (X>1).
Output
每一行输出比X大的最小的回文数!
Examples
Input
12300 10
Output
12321 11
Solution C
#include<stdio.h> int main(){ int a; while(scanf("%d",&a)!=EOF){ int t,p,i; for(i=a+1;i>a;i++){ p=i; int b=i; t=0; while(b!=0){ t=t*10+b%10; b=b/10; } if(t==p){ printf("%d\n",p); break; } } } return 0; }
Solution C++
#include <iostream> using namespace std; bool isHuiWen(int n) { int sum = 0; int m = n; while (n !=0) { sum = sum * 10 + n%10; n = n /10; } return sum == m; } int main() { int X; while(cin>>X) { int n = X-1; while(isHuiWen(n) == false) n--; cout<<n<<endl; } return 0; }