每组测试数据包括一行,x(0<x<2000000000), y(0<y<2000000000), k(2<=k<=16)
输入可能有多组数据,对于每一组数据,root(x^y, k)的值
4 4 10
4
链接:https://www.nowcoder.com/questionTerminal/9324a1458c564c4b9c4bfc3867a2aa66 来源:牛客网 #include <stdio.h> int main(){ for(long x,y,k,r;~scanf("%ld%ld%ld",&x,&y,&k);){ for(r=1,k-=1;y;r=(y&1?r*x%k:r),x=x*x%k,y>>=1); printf("%ld\n",r?r:k); } return 0; }
原文:https://www.cnblogs.com/JAYPARK/p/10079600.html