PALIN CONNECTION NZEC Ошибка

1

Я использовал следующий код для вопроса, но он продолжает давать мне ошибку NZEC, когда я отправляю ее на SPOJ. Мой код отлично работает на 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
    Я не понимаю внесенных вами изменений, я только начал использовать Java. Можете ли вы объяснить или дать ссылку на какой-то полезный ресурс.
Теги:

1 ответ

1

ошибка, которую вы делаете, заключается в том, что вы храните num в integer datatype типе integer datatype Ограничение говорит, что

K не более 1000000 цифр (это digits и не до этого number)

Невозможно, чтобы integer huge number хранило такое huge number вам нужно использовать string для решения этой конкретной проблемы. Попробуйте этот ввод в своем затмении

454646546546546546546546464646464646

вы поймете, где вы ошибаетесь

  • 0
    О, это значит, что мне нужно преобразовать всю программу из целого числа в строку. Даже при проверке палиндрома я не должен использовать математический подход, а должен хранить обратную строку и затем сравнивать ее с исходной строкой. Правильный ли тогда этот подход?
  • 0
    @ yash10p: - да, вы должны использовать string и вы можете сделать это следующим образом .. есть и другой подход .. вы можете сравнить digit в first index с last index , затем second index со second last index и так далее, и если они одинаковы, тогда это нормально, иначе это не будет паллиндром

Ещё вопросы

Сообщество Overcoder
Наверх
Меню