poj 2992
约束的个数。
代码:
#include<iostream>
#include<fstream>
using namespace std;
int n,m;
long long ans;
int a[432][432];
int b[432];
void read(){
// ifstream cin("in.txt");
int i,j,k;
for(i=2;i<=431;i+=2)
a[i][2]=a[i/2][2]+1;
for(i=3;i<=431;i+=2)
if(b[i]==0)
{
a[i][i]=1;
for(j=2*i;j<=431;j+=i)
{
a[j][i]=a[j/i][i]+1;
b[j]=1;
}
}
for(i=2;i<=431;i++)
for(j=2;j<=i;j++)
a[i][j]+=a[i-1][j];
while(cin>>n>>m){
ans=1;
for(i=2;i<=n;i++)
ans*=a[n][i]-a[n-m][i]-a[m][i]+1;
cout<<ans<<endl;
}
}
int main(){
read();
return 0;
}
浙公网安备 33010602011771号