NYOJ 次方求模

    xiaoxiao2021-03-25  119

    描述

    求a的b次方对c取余的值

     

    输入

    第一行输入一个整数n表示测试数据的组数(n<100) 每组测试只有一行,其中有三个正整数a,b,c(1=<a,b,c<=1000000000)

    输出

    输出a的b次方对c取余之后的结果

    样例输入

    3 2 3 5 3 100 10 11 12345 12345

    样例输出

    3 1

    10481

     

    #include <stdio.h> long long mod(long long a, long long b, long long m) { if (!b) return 1; if (b == 1) return a % m; long long ans = powmod(a, b / 2, m); ans = ans * ans % m; if (b % 2 == 1) //奇数 ans = ans * a % m; //b为奇数要做特殊处理 return ans; } int main() { long long a, b, m; int n; scanf("%d", &n); while (n--) { scanf("%lld %lld %lld", &a, &b, &m); printf("%lld\n", mod(a, b, m)); } return 0; }

     

     

    转载请注明原文地址: https://ju.6miu.com/read-24810.html

    最新回复(0)