代码如下
#include<bits/stdc++.h>
using namespace std;
int f[1001],g[1001];
int main()
{
int a,b,k,n,m;
cin>>a>>b>>k>>n>>m;
memset(f,0,sizeof(f));
memset(g,0,sizeof(g));
unsigned long long x=1;
for(int i=1;i<=n;i++){x*=b;x%=10007;}
for(int i=1;i<=m;i++){x*=a;x%=10007;}
n=min(n,m);
for(int i=2;i<=n;i++)
{
int z=i;
for(int j=2;j<=sqrt(z);j++)
while(z%j==0)f[j]++,z/=j;
f[z]++;
}
for(int i=k-n+1;i<=k;i++)
{
int z=i;
for(int j=2;j<=sqrt(z);j++)
while(z%j==0)g[j]++,z/=j;
g[z]++;
}
for(int i=1;i<=k;i++)
for(int j=1;j<=g[i]-f[i];j++)
x=(i*x)%10007;
cout<<x;
}
3、6、7、8没过