Advertisement
Guest User

Untitled

a guest
Nov 14th, 2019
99
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.17 KB | None | 0 0
  1. #include <iostream>
  2. #include <fstream>
  3. using namespace std;
  4. ifstream f("aranjamente.in");
  5. ofstream g("aranjamente.out");
  6. int n,k,i,p,v[20];
  7. int prim(int n)
  8. {
  9. for(i=2;i*i<=n;i++)
  10. if(n%i==0) return 0;
  11. return 1;
  12. }
  13. void init(int k)
  14. {
  15. v[k]=1;
  16. }
  17. int succesor(int k)
  18. {
  19. if(v[k]<n&&k<n)
  20. {
  21. v[k]++;
  22. return 1;
  23. }
  24. return 0;
  25. }
  26. int valid(int k)
  27. {
  28. if(prim(v[k])==0) return 0;
  29. for(i=1;i<k;i++)
  30. if(v[k]<v[i]) return 0;
  31. return 1;
  32. }
  33. int solutie(int k)
  34. {
  35. int sc=0;
  36. for(i=1;i<=k;i++)
  37. sc=sc+v[i];
  38. if(sc==n) return 1;
  39. return 0;
  40. }
  41. void afisare()
  42. {
  43. for(i=1;i<=k;i++)
  44. g<<v[i]<<" ";
  45. g<<endl;
  46.  
  47. }
  48. void back(int n)
  49. {
  50. int sem,sev;
  51. k=1;
  52. init(k);
  53. while(k>0)
  54. {
  55. sem=0;sev=0;
  56. do
  57. {
  58. sem=succesor(k);
  59. if(sem) sev=valid(k);
  60. }while(sem&&!sev);
  61. if(sem)
  62. {
  63. if(solutie(k)) afisare();
  64. else
  65. {
  66. k++;
  67. init(k);
  68. }
  69. }
  70. else k--;
  71. }
  72. }
  73. int main()
  74. {
  75. cin>>n;
  76. back(n);
  77. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement