★★ Java の宿題ここで答えます Part 53 ★★
■ このスレッドは過去ログ倉庫に格納されています
0497デフォルトの名無しさん
2005/11/01(火) 20:33:09>496
1.4じゃScannerはダメ。
// Q493.java
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.math.BigInteger;
public class Q493 {
private static final BigInteger ONE = BigInteger.valueOf(1);
private static final BigInteger TWO = BigInteger.valueOf(2);
private static final BigInteger THREE = BigInteger.valueOf(3);
public static void main(String[] args) {
try {
System.out.print( "1以上の整数を入力してください > " );
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BigInteger bigInteger = new BigInteger(br.readLine());
if( bigInteger.signum() != 1 ) throw new RuntimeException("1以上の整数を入力してください: " + bigInteger);
while( !bigInteger.equals(ONE) ) {
System.out.println(bigInteger);
bigInteger = bigInteger.testBit(0) ? bigInteger.multiply(THREE).add(ONE) : bigInteger.divide(TWO);
}
System.out.println(bigInteger);
} catch( IOException ioe ) {
ioe.printStackTrace();
}
}
}
■ このスレッドは過去ログ倉庫に格納されています