HDU5478 Can you find it (快速幂)

来源:互联网 发布:程氏cms v4模板 编辑:程序博客网 时间:2024/05/01 15:06

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5478




#include<cstdio>#include<cstring>using namespace std;typedef long long ll;ll C;ll quickpow(ll a,ll b){    ll r=1,c=a;    while(b)    {        if(b%2)        r*=c;        r%=C;        c*=c;        c%=C;        b/=2;    }    return r;}int main(){    ll k1,b1,k2,a,b;    int cas=1;    int flag;    while(~scanf("%lld%lld%lld%lld",&C,&k1,&b1,&k2))    {        flag=0;        printf("Case #%d:\n",cas++);        for(a=1;a<C;a++)        {            b=C-quickpow(a,k1+b1);            if(quickpow(a,k1)==quickpow(b,k2))            {                printf("%lld %lld\n",a,b);                flag=1;            }        }        if(!flag)        printf("-1\n");    }    return 0;}



0 0
原创粉丝点击