hdu 1420

地址:http://acm.hdu.edu.cn/showproblem.php?pid=1420

题意:求a^b mod c。

mark:快速幂无疑是最简单的写法。不过c只有100w,也可以用数论的方法做。此处用的是快速幂。

代码:

# include <stdio.h>


int mod ;


int qpow(long long a, long long b)
{
long long ans = 1, buff = a ;
while (b)
{
if (b&1) ans = (ans*buff) % mod ;
b >>= 1 ;
buff = (buff * buff) % mod ;
}
return ans ;
}


int main ()
{
int T, a, b, c;
scanf ("%d", &T) ;
while (T--)
{
scanf ("%d%d%d", &a, &b, &c) ;
mod = c ;
printf ("%d\n", qpow(a, b)) ;
}
return 0 ;
}



posted @ 2012-01-13 06:39  Seraph2012  阅读(164)  评论(0编辑  收藏  举报