运用JAVA中大数类实现大数的模运算
发布网友
发布时间:2022-04-23 03:23
我来回答
共2个回答
热心网友
时间:2023-10-02 23:21
package Test;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.math.BigInteger;
/**
* @author Administrator
*
*/
public class bigTest {
/**
* @param args
* @throws IOException
*/
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String num1 = "";// 第一个数
String num2 = "";// 第二个数
num1 = br.readLine();
while (!num1.matches("-?\\d+")) {
System.out.println("输入整数!");
num1 = br.readLine();
}
num2 = br.readLine();
while (!num2.matches("[1-9]\\d*|0*[1-9]+")) {
System.out.println("输入大于0的整数!");
num2 = br.readLine();
}
BigInteger resultBig = new BigInteger(num1).mod(new BigInteger(num2));
System.out.println(resultBig.toString());
}
}
热心网友
时间:2023-10-02 23:21
使用 BigInteger 的 remainder(BigInteger val) 方法,
public BigInteger remainder(BigInteger val)返回其值为 (this % val) 的 BigInteger。
参数: val - 此 BigInteger 要除以的值和计算所得的余数。
返回: this % val
抛出: ArithmeticException - val==0