1 条题解
-
2
#include<iostream> using namespace std; int n,ans; int a[205]; bool prime(int n) { if(n==1) return 0; for(int i=2; i*i<=n; i++) { if(n%i==0) { return 0; } } return 1; } void search(int s,int step) { for(int i=2; i<=s; i++) { if(prime(i)&&i>a[step-1]) { a[step]=i; if(s-a[step]==0) { ans=max(ans,step); } else { search(s-a[step],step+1); } } } } int main() { cin>>n; search(n,1); cout<<ans; return 0; }
- 1
信息
- ID
- 376
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- 3
- 标签
- 递交数
- 53
- 已通过
- 29
- 上传者