UVa 11582

来源:互联网 发布:吊带袜天使 知乎 编辑:程序博客网 时间:2024/06/09 23:48
#include<iostream>#include<cstdio>#include<cmath>#include<cstring>#include<algorithm>#include<cstdlib>#include<vector>#define fo(i,a,b) for(int i=a;i<=b;i++)#define fod(i,a,b) for(int i=a;i>=b;i--)using namespace std;typedef long long ll;const int N=1e6+10;ll a,b,n,T,f[N];int quick_pow(int a,int b,int c) {    ll ans=1;    for(int i=b;i;i>>=1) {        ans*=a;        a*=a; a%=c;    }    return ans;}int main() {    scanf("%lld",&T);    while(T--) {        scanf("%lld%lld%lld",&a,&b,&n);        f[0]=0;f[1]=1;        int tot=2;        for(tot=2;tot;++tot) {            f[tot]=f[tot-1]+f[tot-2];            f[tot]%=n;            if(f[tot]==f[0]&&f[tot-1]==f[1]) break;        }        int t=tot-1;        printf("%lld\n",f[quick_pow(a,b,t)]);    }    return 0;} 

写作业去了(⊙o⊙)