この問題をJAVAで解決しようとしています。しかし、入力を文字列として読み込んで Int に解析すると、実行時エラーが表示されます... (コードはコメントアウトされています)
次に、 nextInt() メソッドを使用して入力をロードすると、実行時エラーが表示されなくなりました。
出力を次のように変更した後
System.out.println(arr3[0]+" "+arr3[1]+" "+now);
結果は受理されました。
それで...私の以前のコードの何が問題になっていますか? 私のコンピューターでは問題ないように見えますが、UVA オンライン ジャッジでは常に実行時エラーが発生します。みんなありがとう〜
import java.io.*;
import java.util.*;
import java.lang.*;
class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in) ;
while(sc.hasNext()){
int now = 0;
// String str = sc.nextLine();
// String[] arr = str.split(" ");
// arr2[1] = Integer.parseInt(arr[1]);
// arr2[0] = Integer.parseInt(arr[0]);
int[] arr2 = new int[2];
int[] arr = new int[2];
arr[0] = arr2[0] = sc.nextInt();
arr[1] = arr2[1] = sc.nextInt();
int tmp;
if(arr2[0]>arr2[1]){
tmp = arr2[0];
arr2[0] =arr2[1];
arr2[1] = tmp;
}
for (int i = arr2[0]; i < arr2[1]+1; i++) {
long a = i;
int count = 0;
while (a != 1) {
count++;
if ((a % 2) != 0)
a = 3 * a + 1;
else
a = a / 2;
}
count++;
if (count > now)
now = count;
}
System.out.println(" "+now);
}
}