Advertisement
a53

Eratostene7

a53
Jan 18th, 2020
156
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.59 KB | None | 0 0
  1. #include <fstream>
  2. #define N 1000001
  3. using namespace std;
  4. int PRIM[N],ND[N],PROD[N];
  5.  
  6. void Ciur()
  7. {
  8. for(int i=1;i<N;++i)
  9. PROD[i]=1;
  10. int j;
  11. for(int i=2;i<N;++i)
  12. if(PRIM[i]==0)
  13. {
  14. PRIM[i]=1,ND[i]=1,PROD[i]*=i,j=i+i;
  15. while(j<N)
  16. PRIM[j]=1,++ND[j],PROD[j]*=i,j=j+i;
  17. }
  18. }
  19.  
  20. int main()
  21. {
  22. Ciur();
  23. int n;
  24. ifstream f("eratostene7.in");
  25. f>>n;
  26. int x,k;
  27. ofstream g("eratostene7.out");
  28. while(n--)
  29. f>>x>>k,(1LL*k==ND[x]&&1LL*x==PROD[x])?g<<"DA\n":g<<"NU\n";
  30. return 0;
  31. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement