从左至右和从右到左阅读时,接着回文下一个回文小于k用c
一个正整数被称为回文如果其在十进制系统中的表示是相同的。对于给定的正整数K,写入大于K的最小回文的值以输出。
输入
第一行包含一个整数,其对应于K.假设K小于200000
输出
输出由一个单一的整数,其对应于最小的回文大于K.
样品输入1:
样本输出1:
样品输入2:
样本输出2:
2222下方 是我的计划,但我不能够得到输出。请告诉我我哪里错了。
#include<stdio.h>
int palindrome(int n)
{
int t,r;
t=n;
while(t!=0)
{
r=r*10;
r=r+(t%10);
t=t/10;
}
if(r==n)
return 1;
else
return 0;
}
int main()
{
int k,d=0,i;
scanf("%d",&k);
for(i=k+1;i<=200;i++){
d=palindrome(i);
if(d==1)
break;
}
printf("%d",i);
return 0;
}
尝试898 ..还有一个更严重的测试用例。但我不会提示(自己查找测试用例)。 – Raman
在本网站上有大量解决方案的常见作业问题只是转换为s字符串 –
您正在使用'r'未初始化。 – mch