第二个数据过不了,求找问题
查看原帖
第二个数据过不了,求找问题
962032
dqy123456qwe楼主2023/4/5 15:46
#include<bits/stdc++.h>
using namespace std;
const int N=1e3;
bool st[N];
long long f[N];
int b[N];
 int primes(int n,int b[])
{int cnt =0;
	for(int i=2;i<=n;i++)
	{
		if(!st[i]) b[cnt++]=i,st[i]=1;
		for(int j=0;b[j]<=n/i;j++)
		{
			st[b[j]*i]=1;
			if(i%b[j]==0) break;
		}
	}
	return cnt;
}
int main ()
{ int n;
cin>>n;
int cnt=primes(n,b);
f[0]=1;
for(int i=0;i<cnt;i++)
{
	for(int j=b[i];j<=n;j++)
	{
		f[j]+=f[j-b[i]];
	}
}
cout<<f[n];

	return 0;
}
2023/4/5 15:46
加载中...