这里是SPOJ的名为“下一个回文”的问题
T个测试用例必须首先使用。对于给定的肯定 不超过1000000位数的整数K,写入 大于K的最小回文输出。数字总是 显示时不带前导零。如果K本身是回文, 输出仍然必须是下一个可能的回文。
我尝试将K之后的每个数字作为参数传递给函数pcheck(),该函数检查它是否是回文。一旦发现下一个可能的回文,标记“ f”将被设置为“ 1”并返回到main。 然后打印数字。
到目前为止,此代码已正常工作并找到了正确的答案。
#include <iostream>
using namespace std;
int pcheck(int);
int main()
{
int t, x, p;
cin >> t;
for (int i = 0; i < t; i++) {
cin >> x;
x = x + 1;
while (x != 0) {
p = pcheck(x);
if (p == 1) {
cout << x << endl;
break;
}
else {
x = x + 1;
}
p = 0;
}
}
}
int pcheck(int t)
{
int a, m = 0, f = 0;
int g = t;
while (t > 0) {
a = t % 10;
t = t / 10;
m = (m * 10) + a;
}
if (m == g) {
f = 1;
}
return f;
}
该解决方案不被接受,并在网站上被标记为“错误答案”。