全部RE
查看原帖
全部RE
670582
Hi_e楼主2024/1/7 10:35

P2563

#include <bits/stdc++.h>
using namespace std;
int n,f[300],p[150],cnt=0,st[300];
void gp(int m){
	for(int i= 2;i<=m;i++){
		if(!st[i]) p[++cnt]=i;
		for(int j=1;p[j]<=m/i;j++){
			st[p[j]*i]=1;
			if(i%p[j]==0) break;
		}
	}
}
int bag(){
	for(int i=1;i<=cnt;i++){
		for(int j=p[i];j<=n;j++)
			f[j]+=f[j-p[i]];
	}
}
int main(){
	gp(200);
	while(cin>>n){
		memset(f, 0, sizeof(f));
		f[0]=1;
		bag();
		cout<<f[n]<<endl;
	}
	return 0;
}

真的是看了: 一遍两遍三四遍,五遍六遍七八遍,九遍十遍无数遍,错因还是看不见。

2024/1/7 10:35
加载中...