Advertisement
a53

NrDivProd

a53
Dec 17th, 2018
144
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.69 KB | None | 0 0
  1. #include <fstream>
  2. #define Nmax 1000001
  3. #define MOD 1000000007
  4. #define Nprime 78498
  5. using namespace std;
  6. long long p[Nmax];
  7.  
  8. void divprimi(int n)
  9. {
  10. int d=2;
  11. while(n>1)
  12. {
  13. if(n%d==0)
  14. {
  15. while(n%d==0)
  16. ++p[d],n/=d;
  17. }
  18. ++d;
  19. if(n>1&&d*d>n)
  20. ++p[n],n=1;
  21. }
  22. }
  23.  
  24. int main()
  25. {
  26. int n,x,MAX=0;
  27. ifstream f("nrdivprod.in");
  28. f>>n;
  29. for(int i=1;i<=n;++i)
  30. {
  31. f>>x;
  32. if(x>MAX)
  33. MAX=x;
  34. divprimi(x);
  35. }
  36. f.close();
  37. long long sol=1;
  38. for(int i=1;i<=MAX;++i)
  39. if(p[i])
  40. sol=(sol*(p[i]+1))%MOD;
  41. ofstream g("nrdivprod.out");
  42. g<<sol<<'\n';
  43. g.close();
  44. return 0;
  45. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement