题解
2024-04-13 08:57:38
发布于:上海
14阅读
0回复
0点赞
其实(ax+by)n就是一个组合数求解过程,杨辉三角就是由一个个组合数构成,所以可以打表打一个杨辉三角
#include<iostream>
using namespace std;
const int N=10007;
//组合数递推,也是打一个杨辉三角
int yanghui[1001][1001]={{1}};
void init(int depth){
for(int i=1;i<=depth;i++){
yanghui[i][0]=1;
yanghui[i][i]=1;
for(int j=1;j<i;j++){
yanghui[i][j]=yanghui[i-1][j-1]+yanghui[i-1][j];
yanghui[i][j]%=N;
}}return;
}int power(int n,int k){
int s=1;
for(int i=0;i<k;i++){
s*=n;
s%=N;
}return s;
}int main(){
int a,b,k,m,n;
cin>>a>>b>>k>>m>>n;
a%=N,b%=N;
init(k);
int s=power(a,m);
s%=N;
s*=power(b,n);
s%=N;
s*=yanghui[k][m];
s%=N;
cout<<s<<endl;
return 0;
}
这里空空如也
有帮助,赞一个