2017-01-25 15 views
-1

Я пытаюсь решить проблему uva Reverse и Add с использованием языка Java. Ниже код компилируется и работает отлично, но покажите мне неправильный ответ. Что я делаю неправильно?UVA Reverse и Add Wrong Answer. Язык Java

Ниже приведена электронная почта, полученная от автоматического ответа.

Ваша позиция с номером 18677556 по проблеме 10018 - Обратный и Add получил вердикт Неверный ответ.

Хотя ваша программа была успешной на этапах компиляции и исполнения, она не смогла решить предлагаемую проблему.

import java.util.Scanner; 

class Main { 


    public static void main(String[] args) { 

     Scanner in = new Scanner(System.in); 

     int testCaseCounter = 1; 
     int testCase = 0; 
     testCase = in.nextInt(); 

     while(testCaseCounter <= testCase) { 
      int originalNumber = in.nextInt(); 
      int counter = 0; 
      boolean isPalindrome = false; 
      while(isPalindrome == false) { 
       int reversedNumber = reverseNumber(originalNumber);    
       int sum = originalNumber + reversedNumber; 
       int tempSum = sum; 
       counter++; 
       if(isPalindrome(sum)) { 
        System.out.println(counter+" "+sum); 
        isPalindrome = true; 
       } else { 
        originalNumber = tempSum; 
        reversedNumber = 0; 
       } 
      } 
      testCaseCounter++; 
     } 
     in.close(); 
    } 

    public static int reverseNumber(int originalNumber) { 
     int reversedNumber = 0; 
     while(originalNumber != 0) { 
      int remainder = originalNumber % 10; 
      reversedNumber = 10*reversedNumber + remainder; 
      originalNumber /= 10; 
     } 
     return reversedNumber; 
    } 

    public static boolean isPalindrome(int summedNumber) { 
     int palindromeNumber = 0; 
     int tempPalindrome = summedNumber; 
     while(summedNumber != 0) { 
      int remainder = summedNumber % 10; 
      palindromeNumber = 10*palindromeNumber + remainder; 
      summedNumber /= 10; 
     } 
     if(tempPalindrome == palindromeNumber) { 
      return true; 
     } else { 
      return false; 
     } 
    } 
} 
+0

Что должен делать ваш код? Когда вы запускаете его, что он на самом деле делает? – azurefrog

+0

Когда я компилирую и запускаю его на своей машине, он дает правильный ответ, как и ожидалось. Но когда я отправляю его онлайн-судье, автоматический ответ дает мне вердикт Wrong Answer. –

ответ

0

Двойная проверка выхода точно такая же, как и вход. Двойная проверка: нет пробелов до или после добавления, и вы возвращаете их как один и тот же тип. Автоматические маркеры могут быть B____ иногда ...

+0

Я выяснил, в чем проблема. Проблема заключалась в типе данных. Я использовал длинный тип данных вместо int, и он работал для меня. –