大整数Java

时间:2018-05-23 04:50:15

标签: java algorithm math number-theory

为什么我的代码打印输出4次?答案是正确的,但答案是打印4次而不是所需的一次。

  import java.util.*;
  import java.math.BigInteger;
  class THIRTYSEVEN
  {
    static Scanner sc = new Scanner(System.in);
    public static void main(String[] args)
    {
      BigInteger a = new BigInteger("1");
      multiply(a,0,sc.nextInt());
    }
    static void multiply(BigInteger b, int loop, int power)
    {
      BigInteger result = b;
      while(loop<power)
      {
          result =  result.multiply(new BigInteger("8"));
          loop++;
          multiply(result,loop,power);
      }
      System.out.println(result);
    }
  }

1 个答案:

答案 0 :(得分:1)

您只调用multiply一次,但它会递归调用自身(并且每次都打印)。您可以return代替result(并从main打印)。