package 模板;
import java.math.BigInteger;
import java.util.Scanner;
public class 判素数 {
static Scanner in = new Scanner(System.in);
public static void main(String[] args) {
int q = in.nextInt();
while (q-- > 0) {
BigInteger a = new BigInteger(in.next());
if (a.isProbablePrime(20)) {
System.out.println(a);
} else {
System.out.println(a.nextProbablePrime());
}
}
}
}
1.2. 快速幂
package 模板;
import java.math.BigInteger;
import java.util.Scanner;
public class 快速幂 {
static Scanner in = new Scanner(System.in);
public static void main(String[] args) {
BigInteger b = new BigInteger(in.next());
BigInteger p = new BigInteger(in.next());
BigInteger k = new BigInteger(in.next());
System.out.println(b.modPow(p, k));
}
}
1.3. 求逆元
package 模板;
import java.math.BigInteger;
import java.util.Scanner;
public class 逆元 {
static Scanner in = new Scanner(System.in);
public static void main(String[] args) {
int q = in.nextInt();
while (q-- > 0) {
BigInteger a = new BigInteger(in.next());
BigInteger b = new BigInteger(in.next());
System.out.println(a.modInverse(b));
}
}
}