gpt4 book ai didi

algorithm - SPOJ PALIN 程序在 ideone 上成功运行,但在 SPOJ 上发布时显示错误答案

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:26:31 25 4
gpt4 key购买 nike

如果正整数在从左到右和从右到左读取时在十进制系统中的表示相同,则称为回文。给定一个不超过1000000位的正整数K,写出大于K的最小回文的值输出。显示的数字始终不带前导零。

输入

第一行包含整数 t,测试用例的数量。在接下来的 t 行中给出整数 K。

输出

对于每一个K,输出大于K的最小回文。

例子

输入:2个808第2133章

输出:8182222

我的代码在 ideone 上运行成功,但 spoj 显示“Wrong ans”,任何人都可以建议我或纠正我的错误,这是我的代码;

#include<stdio.h>
int ifPalindrome(int n){
int r=0,k=0,a=n;
while((a%10)!=0){
r=a%10;
k=10*k+r;
a=a/10;
}
if(k==n)return 1;
return 0;
}
int main(){
int t,n;
scanf("%d",&t);

for(;t>0;t--){
scanf("%d",&n);
while(ifPalindrome(n)!=1){
n++;
}
if(ifPalindrome(n)==1)printf("%d\n",n);
}
return 0;
}

最佳答案

您犯的错误是您将 n 存储在 integer 数据类型 中......约束表明

K of not more than 1000000 digits (it is digits and not up to that number)

整数不可能存储这么大的..所以你必须使用字符串字符数组integer array 来解决这个特定问题...试试这个输入:

454646546546546546546546464646464646

你会发现自己错在哪里

关于algorithm - SPOJ PALIN 程序在 ideone 上成功运行,但在 SPOJ 上发布时显示错误答案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24714935/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com