package 模板; import java.math.BigInteger; import java.util.Scanner; public class 大数幂 { static BigInteger mod=BigInteger.ZERO; public static void main(String[] args) { // TODO Auto-generated method stub Scanner sc=new Scanner(System.in); int n=sc.nextInt(); while(n-->0) { BigInteger a=sc.nextBigInteger(); BigInteger b=sc.nextBigInteger(); BigInteger mod=sc.nextBigInteger(); BigInteger cal=pow(a,b,mod); System.out.println(cal); } } private static BigInteger pow(BigInteger a, BigInteger b,BigInteger mod) { // TODO Auto-generated method stub BigInteger ans=BigInteger.ONE; BigInteger t=a; while(b.compareTo(BigInteger.ZERO)>0) { if(b.and(BigInteger.ONE).compareTo(BigInteger.ZERO)!=0) { ans=ans.multiply(t); ans=ans.mod(mod); } b=b.shiftRight(1); t=t.multiply(t); //千万不要忘了这一步 t=t.mod(mod); } return ans; } }
[模板]大数幂——java
最新推荐文章于 2023-03-18 10:35:55 发布