【POJ】[1995]Raising Modulo Numbers

文章字数:191

问题描述

Raising Modulo Numbers

问题分析

题目大意:

有的人爱看片儿、有的人爱在地窖里造原子弹、有的人爱用Windows,我爱计算(A1B1+A2B2+ … +AHBH)mod M

由题目所说 直接用快速幂计算就好
根据同余定理进行取模计算

PS:世界上怎么会有这种人-.-

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#include<stdio.h>
int pow(int a,int b,int m) {
    __int64 r=1,t=a;
    while(b) {
        if(b&1)
            r=r*t%m;
        t=t*t%m;
        b>>=1;
    }
    return (int)r;
}
int main() {
    int T;
    scanf("%d",&T);
    while(T--) {
        int M;
        scanf("%d",&M);
        int n;
        scanf("%d",&n);
        __int64 sum=0;
        while(n--) {
            int a,b;
            scanf("%d %d",&a,&b);
            sum=(sum+pow(a,b,M))%M;
        }
        printf("%lld\n",sum);
    }
    return 0;
}

该内容采用 CC BY-NC-SA 4.0 许可协议。

如果对您有帮助或存在意见建议,欢迎在下方评论交流。

加载中...