Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<bits/stdc++.h>
- using namespace std;
- int n,m,cnt,x[100],vmax[100],lv;
- int prime[]={0,2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101};
- void afis(int n,int a[100])
- {
- for(int i=1;i<=n;++i)
- cout<<a[i]<<' ';
- cout<<'\n';
- }
- void back(int k,int sp)
- {
- for(int i=1;i<m;++i)
- {
- x[k]=prime[i];
- sp=sp+x[k];
- if(sp<=n&&x[k]>x[k-1])
- if(sp==n)
- {
- ++cnt;
- if(cnt==1)
- for(int j=1;j<=k;++j)
- vmax[++lv]=x[j];
- }
- else
- back(k+1,sp);
- sp=sp-x[k];
- }
- }
- int main()
- {
- cin>>n;
- m=26;
- back(1,0);
- cout<<cnt<<'\n';
- afis(lv,vmax);
- return 0;
- }
Add Comment
Please, Sign In to add comment