C 我的下一个PALLINDROME解决方案有什么问题
这是斯波吉下一个苍白罗马的解决方案。该逻辑在其他ide中给出了正确的解决方案,但被SPOJ拒绝。 这有什么问题C 我的下一个PALLINDROME解决方案有什么问题,c,C,这是斯波吉下一个苍白罗马的解决方案。该逻辑在其他ide中给出了正确的解决方案,但被SPOJ拒绝。 这有什么问题 #include <stdio.h> int pallin(int i){ int oint=i; int re,rev=0; while(oint!=0){ re=oint%10; rev=rev*10+re; oint/=10; } if(rev==i){ retur
#include <stdio.h>
int pallin(int i){
int oint=i;
int re,rev=0;
while(oint!=0){
re=oint%10;
rev=rev*10+re;
oint/=10;
}
if(rev==i){
return rev;
}
else{
return 0;
}
}
int main(){
int i,num;
scanf("%d",&i);
while(i--){
scanf("%d",&num);
for(int n=num+1;n<100000;++n){
if(pallin(n)) {
printf("%d\n",pallin(n));
break;
}
else{
continue;
}
}
}
return 0;
}
#包括
内特帕林(内特一){
int=i;
int-re,rev=0;
while(oint!=0){
re=10%;
rev=rev*10+re;
/=10;
}
如果(rev==i){
返回版本;
}
否则{
返回0;
}
}
int main(){
int i,num;
scanf(“%d”、&i);
而(我--){
scanf(“%d”和&num);
对于(int n=num+1;n[咯咯笑]表示…“对于给定的不超过1000000位的正整数K”,所以这是一个字符串而不是数字练习;)我添加了10^6。答案仍然错误。这是你的观点吗???不,int
不会保存一百万位数。32位int
只能保存九位数。在所有主要平台上,int
是一个有符号的32位数字,可以保存从零下20亿到略大于20亿的值。这就是九位数字(不包括减号)。即使是64位数字且可以容纳更大数字的无符号long long
,也能处理数百万位的数字。相反,将输入视为字符串并使用字符串算法。