Advertisement
a53

Eratostene4

a53
Jan 3rd, 2020
339
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.67 KB | None | 0 0
  1. #include <fstream>
  2. using namespace std;
  3.  
  4. int NrDivPrimi(long long int x) /// Calculez numarul nrd de divizori ai lui x
  5. {
  6. int nrdp=0,k=x;
  7. if(k%2==0)
  8. {
  9. ++nrdp;
  10. while(!(k&1))
  11. k>>=1;
  12. }
  13. for(int d=3;d*d<=k;d+=2)
  14. {
  15. if(k%d==0)
  16. {
  17. ++nrdp;
  18. while(k%d==0)
  19. k/=d;
  20. }
  21. }
  22. if(k>1)
  23. ++nrdp;
  24. return nrdp;
  25. }
  26.  
  27. int main()
  28. {
  29. int n;
  30. ifstream f("eratostene4.in");
  31. f>>n;
  32. ofstream g("eratostene4.out");
  33. long long int x;
  34. while(n--)
  35. f>>x,g<<(1<<NrDivPrimi(x))<<' ';
  36. g<<'\n';
  37. f.close(),g.close();
  38. return 0;
  39. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement