Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<iostream>
- #include<cmath>
- #include<fstream>
- #include<algorithm>
- using namespace std;
- ifstream fin("sortare_divizori.in");
- ofstream fout("sortare_divizori.out");
- pair <int,int> v[1005];
- int c[1005];
- int main()
- {
- int nrd=0, n, i, d=0,x,r;
- fin>>n;
- for(i=1; i<=n; i++)
- {
- fin>>v[i].first;
- x=v[i].first;
- r=sqrt(x);
- for(d=1; d<=r; d++)
- {
- if(x%d==0)
- {
- nrd+=2;
- }
- }
- if(r*r==x)
- {
- nrd--;
- }
- v[i].second=nrd;
- nrd=0;
- }
- sort(v+1,v+n+1);
- for(i=1; i<=n; i++)
- {
- if(v[i].second==v[i+1].second)
- {
- if(v[i].first>v[i+1].first)
- {
- swap(v[i].first, v[i+1].first);
- }
- }
- }
- for(i=n; i>=1; i--)
- {
- fout<<v[i].first<<" ";
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement