a53

descprime

a53
Oct 1st, 2020 (edited)
97
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.74 KB | None | 0 0
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. int n,m,cnt,x[100],vmax[100],lv;
  4. 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};
  5.  
  6. void afis(int n,int a[100])
  7. {
  8. for(int i=1;i<=n;++i)
  9. cout<<a[i]<<' ';
  10. cout<<'\n';
  11. }
  12.  
  13. void back(int k,int sp)
  14. {
  15. for(int i=1;i<m;++i)
  16. {
  17. x[k]=prime[i];
  18. sp=sp+x[k];
  19. if(sp<=n&&x[k]>x[k-1])
  20. if(sp==n)
  21. {
  22. ++cnt;
  23. if(cnt==1)
  24. for(int j=1;j<=k;++j)
  25. vmax[++lv]=x[j];
  26. }
  27. else
  28. back(k+1,sp);
  29. sp=sp-x[k];
  30. }
  31. }
  32.  
  33. int main()
  34. {
  35. cin>>n;
  36. m=26;
  37. back(1,0);
  38. cout<<cnt<<'\n';
  39. afis(lv,vmax);
  40. return 0;
  41. }
  42.  
Add Comment
Please, Sign In to add comment