两个大的整数的运算(java)

时间:2023-03-09 23:13:10
两个大的整数的运算(java)
 import java.math.BigInteger;    

 public class BigInt {
BigInteger m1;
BigInteger m2;
BigInteger m3; BigInt(String s1, String s2) {
m1 = new BigInteger(s1);
m2 = new BigInteger(s2);
} public void add() {
m3 = m1.add(m2);
System.out.println("两个数的和为:" + m3);
} public void cut() {
m3 = m1.subtract(m2);
System.out.println("两个数的差为:" + m3);
} public void multiply() {
m3 = m1.multiply(m2);
System.out.println("两个数的积为:" + m3);
} public void divide() {
m3 = m1.divide(m2);
System.out.println("两个数的商为:" + m3);
} public void factorCount() {
int count = 0;
for (BigInteger i = BigInteger.valueOf(2); i.compareTo(m1) < 0; i = i
.add(BigInteger.ONE)) {
if (m1.remainder(i).equals(BigInteger.ZERO)) {
++count;
}
}
System.out.println(m1 + "的因子个数为:" + count);
} public static void main(String[] args)
{
String num1="123456789123456789123456789";
String num2="987654321987654321987654321";
BigInt bigInt=new BigInt(num1,num2); bigInt.add();
bigInt.cut();
bigInt.multiply();
bigInt.divide();
bigInt.factorCount();
}
}

两个大的整数的运算(java)