java中怎么使用大整数求因子
时间: 2023-06-06 12:07:10 浏览: 39
你可以使用BigInteger类来处理大整数,使用其提供的方法来求因子。具体操作可以参考以下代码示例:
```
import java.math.BigInteger;
import java.util.ArrayList;
public class Factorization {
public static void main(String[] args) {
BigInteger n = new BigInteger("12345678901234567890");
ArrayList<BigInteger> factors = factorize(n);
System.out.println(factors);
}
// 求因子的方法
public static ArrayList<BigInteger> factorize(BigInteger n) {
ArrayList<BigInteger> factors = new ArrayList<>();
BigInteger i = BigInteger.valueOf(2);
while (n.compareTo(BigInteger.ONE) > 0) {
if (n.mod(i).equals(BigInteger.ZERO)) {
factors.add(i);
n = n.divide(i);
} else {
i = i.add(BigInteger.ONE);
}
}
return factors;
}
}
```
这段代码实现了对一个大整数的因子分解,输出结果为 `[2, 3, 3, 5, 7, 11, 13, 37, 101, 9901]`。