java对大整数运算求余数
昨天在一个软件设计赛中,遇到了一个对大整数求余数的题,想了很久不知道怎么解决。
1.用最大的整型类型long,但 long的数据范围最小值是-9,223,372,036,854,775,808(-2^63);
最大值是 9,223,372,036,854,775,807(2^63 -1);
显然不能放下那个大整数
java为大整型数据的存储,提供了一个BigInteger类,这个类理论上是可以存储无限大的数(只要计算机内存够大);
import java.math.BigInteger;
import java.util.Scanner;
public class test {
public static void main(String [] args){
Scanner input = new Scanner(System.in);
String s =input.next();
BigInteger num = new BigInteger(s);
BigInteger num2 = new BigInteger("17");
BigInteger num3 =num.remainder(num2);
System.out.println(num3);
}
}