我已经使用了以下代码来解决问题,但是当我在SPOJ上提交时,它一直给我NZEC错误。我的代码在Eclipse或cmd上完美运行。
import java.util.Scanner;
import java.util.ArrayList;
public class Main {
public static void main(String[] args) {
int line,num,numb,rev = 0,r,i,flag;
ArrayList <Integer> nums=new ArrayList <Integer>();
Scanner b=new Scanner(System.in);
Scanner a=new Scanner(System.in);
line=b.nextInt();
for(i=0;i<line;i++)
{flag=0;
num=a.nextInt();
num=num+1;
numb=num;
do {
while(numb>0)
{r=numb%10;
rev=(rev*10)+r;
numb=numb/10;
}
if (rev==num)
{nums.add(num);
rev=0;
flag=1;
break;
}
else
{num=num+1;
numb=num;
rev=0;}
}while(flag==0);
}
for (int newnum : nums)
{System.out.println(newnum);}
}
}
答案 0 :(得分:1)
您正在做的错误是您将num
存储在integer datatype
中......约束说明了
K不超过1000000 位数(
digits
而不是number
)
integer
不可能存储这样的huge number
..所以你必须使用string
来解决这个特殊的问题..在你的日食中输入这个输入
454646546546546546546546464646464646
你会意识到自己错了