我被要求编写一个Java函数,该函数接受一个整数n,并打印出值n^100

我不知道该如何处理。我知道通过常规方式,它会随着n的增长而溢出。诸如5.32 x 10^20之类的答案是不可接受的。它必须是每个数字。

因此,例如:

public void byHundred(int n) {
  result = //some computation that yields the string
  System.out.println(result);
}


因此,byHundred(23)打印出"14886191506363039393791556586559754231987119653801368686576988209222433278539331352152390143277346804233476592179447310859520222529876001"

最佳答案

您可以使用BigInteger之类的方法,

public static void byHundred(int n) {
    BigInteger bi = BigInteger.valueOf(n);
    String result = bi.pow(100).toString();
    System.out.println(result);
}

public static void main(String[] args) {
    byHundred(23);
}


输出为14886191506363039393791556586559754231987119653801368686576988209222433278539331352152390143277346804233476592179447310859520222529876001(根据要求)。

08-05 03:33