why???
查看原帖
why???
638332
Blamol_Von_Lee楼主2023/11/15 19:17

在编译器上过了,洛谷上没过

#include<iostream>
#include<algorithm>
using namespace std;
int a[100005]={};
long long f[100005]={};
bool by(int x)
{
	for(int i=2;i*i<=x;i++)
	if(x%i==0&&x!=i)
	return true;
}
bool cmp(int x,int y)
{
	return x>y;
}
int main()
{
	int n,anti=0,unity=0,ass=0;
	bool c=false;
	cin>>n;
	for(int i=2;i<=n;i++)
	{
		if(n%i==0)
		anti++;	
	}
	for(int i=2;i<=n;i++)
	{
		c=by(i);
		if(c==false)
		a[i]+=i;
	}
	f[0]=1;
	for(int i=1;i<=n;i++)
	{
		if(a[i]!=0)
		for(int j=i;j<=n;j++)
			f[j]+=f[j-a[i]];
	}
	cout<<f[n];
}
2023/11/15 19:17
加载中...