火烧眉毛,求助
查看原帖
火烧眉毛,求助
733488
EasonX楼主2024/4/24 21:46

二话不说,上代码:

#include<bits/stdc++.h>
using namespace std;
bool p[2005] = {1, 1};
long long f[1005] = {0, 0, 0, 0, 1},n;
long long find(int n) {
	long long ans = 0;
	for (int i = 1; i <= n; i++) {
		if (!p[i])ans += find(n - i);
	}
	return ans;
}
int main() {
	for (int i = 1; i <= 1000; i++) {
		if (!p[i]) {
			for (int j = p[i * 2]; j <= 1000; j += i)p[i] = 1;
		}
	}
	cin>>n;
	for (int i = 5; i <= n; i++) {
		f[i] += find(i);
	}
	cout<<f[n];
	return 0;
}

2024/4/24 21:46
加载中...