POJ1995

简介:

这题很水 就是很普通的快速幂取模 二分的原理 水过。。。

#include <iostream>
#include<cstdio>
#include<cstring>
using namespace std;

long long modular(long long a,long long b,long long c)
{
    int ans=1;
    while(b)
    {
        if(b&1)
            ans=ans*a%c;
        b>>=1;
        a=a*a%c;
    }
    return ans;
}
int main()
{
    int t,h,m;
    long long a,b;
    scanf("%d",&t);
    while(t--)
    {
        scanf("%d%d",&m,&h);
        long long ans=0;
        while(h--)
        {
            scanf("%lld%lld",&a,&b);
            ans=(ans+modular(a,b,m))%m;
        }
        printf("%lld\n",ans);
    }
    return 0;
}


目录
相关文章
|
测试技术
POJ 1001
此题用最朴素的思路实现即可,需模拟加法器,乘法器,最烦人的地方是特殊情形,如末位是小数点(12.^2=144,取小数点),整数末位是0(100^2=10000),0次幂,测试用例可能超出题目中说的范围,可能包含0次幂(100.0^0=0, 0.10^1=0.1)。
751 0
|
人工智能 BI
poj-3185-开关问题
描述   牛一行20他们喝的水碗。碗可以那么(面向正确的为清凉水)或颠倒的(一个位置而没有水)。他们希望所有20个水碗那么,因此用宽鼻子翻碗。   嘴太宽,他们不仅翻转一碗还碗的碗两侧(总共三个或三个——在两端的情况下碗——两碗)。
811 0
POJ 2262 Goldbach&#39;s Conjecture
Problem Description In 1742, Christian Goldbach, a German amateur mathematician, sent a letter to Leonhard Euler in which he made the foll...
1007 0
|
机器学习/深度学习
|
人工智能 机器学习/深度学习
POJ 1328
1 2 //坐标精度是int 3 /* 4 圆心位于 5 */ 6 #include 7 #include 8 #include 9 #include 10 using namespace std; 11 12 const int N =...
866 0