Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <fstream>
- using namespace std;
- ifstream fin ("permutari.in");
- ofstream fout ("permutari.out");
- int n,x[11],v[11];
- int cmmdc(int a,int b)
- {
- while(b)
- {
- int r=a%b;
- a=b;
- b=r;
- }
- return a;
- }
- void ordonare()
- {
- for(int i=1;i<n;i++)
- for(int j=i+1;j<=n;j++)
- if(v[i]>v[j])
- swap(v[i],v[j]);
- }
- void afis(int k)
- {for(int i=1;i<=k;i++)
- fout<<x[i]<<' ';
- fout<<'\n';}
- int valid(int k)
- {
- for(int i=1;i<k;i++)
- if(x[i]==x[k])
- return 0;
- if(k>1 && cmmdc(x[k],x[k-1])!=1)
- return 0;
- return 1;}
- void back(int k)
- {
- for(int i=1;i<=n;i++)
- {x[k]=v[i];
- if(valid(k))
- {if(k==n)
- afis(k);
- else back(k+1);}
- }
- }
- int main()
- {fin>>n;
- for(int i=1;i<=n;i++)
- fin>>v[i];
- ordonare();
- back(1);
- return 0;}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement