首页 > 代码库 > 11582c++
11582c++
#include<iostream>
using namespace std;
int f[3000];
int main()
{
unsigned long long a,b,n,i,j,t,ans,m;
cin>>t;
for(j=0;j<t;j++){
cin>>a>>b>>n;
if(n==1||a==0) cout<<"0"<<endl;
else if(a==1||b==0) cout<<"1"<<endl;
else {
f[0]=0;
f[1]=1;
i=2;
for(i=2;i<3000;i++){
f[i]=(f[i-1]+f[i-2])%n;
if(f[i-1]==1&&f[i]==0)
break;
}
m=i;
ans=1;
a%=m;
while(b>0){
if(b%2==1) ans=(ans*a)%m;
a=(a*a)%m;
b>>=1;
}
cout<<f[ans]<<endl;
}
}
return 0;
}
11582c++
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。