Advertisement
Guest User

Untitled

a guest
Feb 21st, 2020
111
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.07 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2.  
  3. using namespace std;
  4. ifstream fin("sortare_divizori.in");
  5. ofstream fout("sortare_divizori.out");
  6. struct element
  7. {
  8. int val,nr;
  9.  
  10. }a[1004];
  11.  
  12. int divizor(int x)
  13. {
  14. int f,nrdiv=0,e;
  15. f=2;
  16. nrdiv=1;
  17. while(x>1)
  18. {
  19. e=0;
  20. while(x%f==0)
  21. {
  22. x/=f;
  23. e++;
  24. }
  25. if(e>0)nrdiv*=(e+1);
  26. if(f*f<x) f++;
  27. else f=x;
  28.  
  29. }
  30. return nrdiv;
  31. }
  32. int main()
  33. {
  34. element aux;
  35. int x,n,i,j,nr1,nr2,k,p=1,e,f=2,nrdiv=1;
  36. fin>>n;
  37. for(i=1;i<=n;i++)
  38. {
  39. fin>>a[i].val;
  40. a[i].nr=divizor(a[i].val);
  41.  
  42. }
  43. for(i=1;i<=n;i++)
  44. for(j=i+1;j<=n;j++)
  45. {
  46. if(a[i].nr<a[j].nr)
  47. {
  48. aux=a[i];
  49. a[i]=a[j];
  50. a[j]=aux;;
  51. }
  52. else if(a[i].nr==a[j].nr && a[i].val>a[j].val)
  53. {
  54. aux=a[i];
  55. a[i]=a[j];
  56. a[j]=aux;
  57. }
  58.  
  59. }
  60. for(i=1;i<=n;i++)fout<<a[i].val<<" ";
  61. return 0;
  62. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement