背包大失败NO.2
查看原帖
背包大失败NO.2
528562
_Niaoniao_楼主2022/7/6 20:49

(观察到本题某帖也用了背包)

只对了一个点

奖励:一个小关注

#include<bits/stdc++.h>
using namespace std;
int f(int num){
	for(int i=2;i<=num/2;i++){
		if(num%i==0){
			return 0;
		}
	}
	return 1;
}
int n,sum,sx[10001];
int main(){
	cin>>n;
	for(int i=2;i<=n;i++){
		if(f(i)==1){
			sx[i]=1;
		}
	}
	for(int i=2;i<=n;i++){
		for(int j=1;j<i;j++){
			if(sx[i-j]==1){
				sx[i]+=sx[i-j];
			}
		}
	}
	cout<<sx[n]<<endl;
	return 0;
}
2022/7/6 20:49
加载中...