AcWing 875. 快速幂-代码注释-golang
原题链接
简单
作者:
望哥
,
2020-07-18 00:28:14
,
所有人可见
,
阅读 642
package main
import "fmt"
import "bufio"
import "os"
var reader=bufio.NewReader(os.Stdin)
var writer=bufio.NewWriter(os.Stdout)
func fastPower(a,b,p uint64) uint64{
a%=p
var res uint64 = 1
for b>0{
if b&1 > 0{
res = (res*a)%p
}
a=(a*a)%p
b>>=1
}
return res
}
func main(){
var n int
fmt.Fscan(reader, &n)
var a,b,p uint64
for i:=0;i<n;i++{
fmt.Fscan(reader, &a,&b,&p)
fmt.Fprintln(writer, fastPower(a,b,p))
}
writer.Flush()
}