Saleh127

UVA 160

Jul 20th, 2020
121
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.15 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3. #define maX 10005
  4. bool marked[maX];
  5. vector<int>p;
  6. void sieve()
  7. {
  8. for(int i=3; i*i<=maX; i+=2)
  9. {
  10. if(marked[i]==false)
  11. {
  12. for(int j=i*i; j<=maX; j+=i+i)
  13. {
  14. marked[j]=true;
  15. }
  16. }
  17. }
  18. p.push_back(2);
  19. for(int i=3; i<=100; i+=2)
  20. {
  21. if(marked[i]==false)
  22. {
  23. p.push_back(i);
  24. }
  25. }
  26. }
  27.  
  28. int main()
  29. {
  30. sieve();
  31. int t,c,n,i,j,k;
  32. while(scanf("%d",&n))
  33. {
  34. if(n==0)
  35. {
  36. return 0;
  37. }
  38. int a[n]={0};
  39. j=0;
  40. for(i=0; i<25&& p[i]<=n; i++)
  41. {
  42. k=n;
  43. int fre=0;
  44. while(k/p[i])
  45. {
  46. fre+=(k/p[i]);
  47. k=k/p[i];
  48. }
  49. a[j]=fre;
  50. j++;
  51. }
  52. printf("%3d! =", n);
  53. for(i=0;i<j;i++)
  54. {
  55. if(i>0 && i%15==0)
  56. {
  57. printf("\n ");
  58. }
  59. printf("%3d",a[i]);
  60. }
  61. printf("\n");
  62. }
  63. return 0;
  64. }
Advertisement
Add Comment
Please, Sign In to add comment