1600 高级机密

本题目容易出错的地方是:把这道题目按照一般题目按部就班的做,

但是1<=a,b < c <=32768;

a^32768不管是什么一定是存不下的。

思路一(未能实现):将这个超大的数存入数组中。

思路二(AC):ab%c 等价于 b个(a%c)相乘,所以有了下面的解法。

#include<stdio.h>
int main()
{
    int a,b,c;

    scanf("%d%d%d",&a,&b,&c);
    int s=1;
    for(int i=0;i<b;i++)
        s=s*a%c;
    printf("%d\n",s);
    return 0;
}

 

posted @ 2016-02-18 14:42  sun-of-痴  阅读(103)  评论(0)    收藏  举报