Saleh127

UVA 10680.cpp

Jun 15th, 2020
176
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.95 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3. #define ll long long int
  4. #define maX 10000007
  5. bool mark[maX];
  6. int n=maX;
  7. vector < int > prime;
  8. void siv()
  9. {
  10. int i,j;
  11. prime.push_back(2);
  12. for(i=3; i*i<=n; i+=2)
  13. {
  14. if(!mark[i])
  15. {
  16. for(j=i*i; j<=n; j+=(i+i))
  17. {
  18. mark[j]=true;
  19. }
  20. }
  21. }
  22. for(i=3; i<=n; i+=2)
  23. {
  24. if(!mark[i])
  25. {
  26. prime.push_back(i);
  27. }
  28. }
  29. }
  30. int main()
  31. {
  32. siv();
  33.  
  34. int n;
  35. while(cin >> n and n)
  36. {
  37. ll ans=1;
  38. for(int i=0; prime[i]<=n; i++)
  39. {
  40. ll a=prime[i];
  41. while(a*prime[i]<=n)
  42. {
  43. a*=prime[i];
  44. }
  45.  
  46. ans*=a;
  47.  
  48.  
  49. ans%=1000000000;
  50. }
  51. while(!(ans%10))
  52. {
  53. ans/=10;
  54. }
  55. cout<<ans%10<<endl;
  56. }
  57. return 0;
  58. }
Advertisement
Add Comment
Please, Sign In to add comment