COJ 1223 JAVA入门训练modpow

2019-04-13 21:58发布

Super A^B mod C

Time Limit: 1000 ms     Memory Limit: 65536 KB
Total Submit: 8     Accepted: 7

Description 数论课上,老师给DreamFox安排了一项任务,用编程实现A的B次方模C。这个当然难不了ACMer。于是DreamFox回去后就开始用代码实现了。并且超额完成了任务,实现了当b是大数的情况下的快速算法。
Input 三个整数,a,b,c。(0<=a,c<2^31,0 < =b<10^100000)
Output 一个整数,a^b mod c的结果。
Sample Input 5 100000000000000 12830603

Sample Output 5418958
刚开始我用的是pow函数,但是因为pow函数的参数是int型的,所以看了下,原来类库中直接有modpow这个函数了,哎呀,方便啊…… import java.io.*; import java.math.*; import java.util.*; public class Main { public static void main(String[] args) { Scanner cin=new Scanner (new BufferedInputStream(System.in)); BigInteger a=cin.nextBigInteger(); BigInteger b=cin.nextBigInteger(); BigInteger c=cin.nextBigInteger(); a=a.modPow(b, c); System.out.println(a); } }