Advertisement
Guest User

Untitled

a guest
Dec 9th, 2019
105
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.89 KB | None | 0 0
  1. #include <iostream>
  2. #include <fstream>
  3. using namespace std;
  4. ifstream fin ("permutari.in");
  5. ofstream fout ("permutari.out");
  6. int n,x[11],v[11];
  7. int cmmdc(int a,int b)
  8. {
  9. while(b)
  10. {
  11. int r=a%b;
  12. a=b;
  13. b=r;
  14. }
  15. return a;
  16. }
  17. void ordonare()
  18. {
  19. for(int i=1;i<n;i++)
  20. for(int j=i+1;j<=n;j++)
  21. if(v[i]>v[j])
  22. swap(v[i],v[j]);
  23. }
  24. void afis(int k)
  25. {for(int i=1;i<=k;i++)
  26. fout<<x[i]<<' ';
  27. fout<<'\n';}
  28. int valid(int k)
  29. {
  30. for(int i=1;i<k;i++)
  31. if(x[i]==x[k])
  32. return 0;
  33. if(k>1 && cmmdc(x[k],x[k-1])!=1)
  34. return 0;
  35. return 1;}
  36.  
  37. void back(int k)
  38. {
  39. for(int i=1;i<=n;i++)
  40. {x[k]=v[i];
  41. if(valid(k))
  42. {if(k==n)
  43. afis(k);
  44. else back(k+1);}
  45. }
  46. }
  47.  
  48. int main()
  49. {fin>>n;
  50. for(int i=1;i<=n;i++)
  51. fin>>v[i];
  52. ordonare();
  53. back(1);
  54. return 0;}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement