游客 Signup | Login
中文 | En

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;
}

Time Limit 1 second
Memory Limit 64 MB
Discuss Stats
上一题 下一题