GESP7级 — 拆分
2026-03-23 13:35:37
发布于:广东
15阅读
0回复
0点赞
代码如下:
#include <bits/stdc++.h>//万能头
using namespace std;
const int MOD=1e9;//处理1e9的模数
long long qpow(long long a,long long b){
long long res=1;
while(b>0){
if(b%2==1) res=res*a%MOD;
a=a*a%MOD;
b/=2;
}
return res;
}
//定义快速幂函数
int main(){
int t;
cin>>t;
//定义输入
while(t--){
int n;
cin>>n;//输入每一个数
long long ans=1;//记录答案
if(n<=4){
cout<<n<<endl;//无法拆分:特殊情况
continue;
}
if(n%3==0){
ans=qpow(3,n/3);
}
else if(n%3==1){
ans=qpow(3,(n-4)/3)*4%MOD;
}
else{
ans=qpow(3,(n-2)/3)*2%MOD;
}
cout<<ans<<endl;//处理输出
}
return 0;
}
点个赞呗~~
全部评论 1
神了,啥思路不给就求赞
2026-03-28 来自 广东
0












有帮助,赞一个