全WA求助
查看原帖
全WA求助
965334
1_1_1_1_1_1_楼主2023/7/30 22:26

各位大佬看看是哪错了

求求了

#include<bits/stdc++.h>

using namespace std;

int n;

long long f[1001];
int pr[500];

void dp(int n);

int main()
{
	while(cin >> n)
	{
		dp(n);
	}
	return(0);
}

void dp(int n)
{
	int i, j, k;
	int flag;
	for(i = 0; i <= 1000; i++)
	{	
		f[i] = 0;
	}
	
	k = 0;
	for(i = 2; i <= n; i++)
	{
		flag = 1;
		for(j = 2; j <= sqrt(i); j++)
		{
			if(i % j == 0)
			{
				flag = 0;
				break;
			}
		}
		if(flag == 1)
		{
			k++;
			pr[k] = i;
		}
	}
	f[0] = 1;
	for(i = 1; i <= k; i++)
	{
		for(j = pr[i]; j <= n; j++)
		{
			f[j] = f[j] + f[j - pr[i]];
		}
	}
	cout << f[n] << endl;
}
2023/7/30 22:26
加载中...