1. 程式人生 > >快速冪的使用,幹掉了一道

快速冪的使用,幹掉了一道

#include<stdio.h>
int fastMod(int x,long n,int m){
    int r = 1;
    while(n != 0 ){
        if (n % 2 != 0)r = x*r%m;
        x = x*x%m;
        n /= 2;
    }
    return r;
}
int main()
{
    long n;
    int result;
    int t,i;
    scanf("%d",&t);
    for(i = 0;i < t;i ++){
        scanf("%ld",&n);
        result = (fastMod(2,n,9973)-1+n)%9973;
        printf("%d\n",result);
    }
    return 0;
}

牛逼

注意那個取模的運算,部落格裡面有的。