練習問題/解答例/累乗/課題2/Java
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
[[練習問題]]
繰り返し二乗法。
import java.math.*;
public class Main {
private BigInteger pow(BigInteger val, int n) {
BigInteger res = BigInteger.ONE;
while(n > 0) {
if((n & 1) == 1) { res = res.multiply(val); }
val = val.multiply(val);
n >>= 1;
}
return res;
}
private BigInteger pow(int a, int n) {
return pow(BigInteger.valueOf(a), n);
}
private void doIt() {
System.out.printf("%s\n", pow(2, 0));
System.out.printf("%s\n", pow(2, 1));
System.out.printf("%s\n", pow(2, 2));
System.out.printf("%s\n", pow(2, 10));
System.out.printf("%s\n", pow(2, 1024));
System.out.printf("%s\n", pow(2, 1000007)); // 3...
System.out.printf("%s\n", BigInteger.valueOf(2)....
}
public static void main(String[] args) { new Main()....
}
終了行:
[[練習問題]]
繰り返し二乗法。
import java.math.*;
public class Main {
private BigInteger pow(BigInteger val, int n) {
BigInteger res = BigInteger.ONE;
while(n > 0) {
if((n & 1) == 1) { res = res.multiply(val); }
val = val.multiply(val);
n >>= 1;
}
return res;
}
private BigInteger pow(int a, int n) {
return pow(BigInteger.valueOf(a), n);
}
private void doIt() {
System.out.printf("%s\n", pow(2, 0));
System.out.printf("%s\n", pow(2, 1));
System.out.printf("%s\n", pow(2, 2));
System.out.printf("%s\n", pow(2, 10));
System.out.printf("%s\n", pow(2, 1024));
System.out.printf("%s\n", pow(2, 1000007)); // 3...
System.out.printf("%s\n", BigInteger.valueOf(2)....
}
public static void main(String[] args) { new Main()....
}
ページ名: