九度OJ 二分求幂法、快速取模之《root(n,k)》

来源:互联网 发布:js search汉字 编辑:程序博客网 时间:2024/05/22 17:43

借鉴http://blog.sina.com.cn/s/blog_8619a25801010wcy.html

题目地址:http://ac.jobdu.com/problem.php?pid=1085

//九度OJ 快速取模之《root(n,k)》//http://ac.jobdu.com/problem.php?pid=1085#include<stdio.h>int k;long fang(long a,long b){long long ret=1;while(b){if(b&1)ret=ret*a%(k-1);a=a*a%(k-1);b>>=1;}return ret;}int main(){long long x,y;int i;while(~scanf("%lld %lld %d",&x,&y,&k)){long ret=fang(x,y);if(!ret)ret=k-1;printf("%lld\n",ret);}return 0;}