Advertisement
a53

numere26

a53
Feb 18th, 2019
127
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.71 KB | None | 0 0
  1. #include <fstream>
  2. #define N 10001
  3. using namespace std;
  4. int a[N],prim[N];
  5.  
  6. int main()
  7. {
  8.  
  9. prim[0]=prim[1]=1;
  10. for(int i=2;i*i<=N;++i)
  11. if(prim[i]==0)
  12. for(int j=2;i*j<=N;++j)
  13. prim[i*j]=1;
  14. int n,c,x;
  15. ifstream f("numere.in");
  16. f>>n>>c;
  17. for(int i=1;i<=n;++i)
  18. {
  19. f>>x;
  20. if(prim[x]==0)
  21. {
  22. a[i]=x;
  23. continue;
  24. }
  25. int d=2;
  26. if(x%d==0)
  27. {
  28. if(prim[x/d]==0)
  29. {
  30. a[i]=x/d;
  31. continue;
  32. }
  33. while(x%d==0)
  34. x/=d;
  35. if(x==1)
  36. a[i]=d;
  37. }
  38. bool ok=false;
  39. for(d=3;d*d<x;d+=2)
  40. {
  41. if(x%d==0)
  42. {
  43. if(prim[x/d]==0)
  44. {
  45. a[i]=x/d;
  46. ok=true;
  47. break;
  48. }
  49. while(x%d==0)
  50. x/=d;
  51. if(x==1)
  52. {
  53. a[i]=d;
  54. ok=true;
  55. break;
  56. }
  57. }
  58. if(ok)
  59. continue;
  60. }
  61. if(prim[x]==0)
  62. {
  63. a[i]=x;
  64. continue;
  65. }
  66. if(d*d==x&&prim[d]==0)
  67. {
  68. a[i]=d;
  69. continue;
  70. }
  71. }
  72. int nr=0,smax=0;
  73. for(int i=1;i<n;++i)
  74. for(int j=i+1;j<=n;++j)
  75. if(a[i]==a[j])
  76. {
  77. ++nr;
  78. if(j-i+1>smax)
  79. smax=j-i+1;
  80. }
  81. ofstream g("numere.out");
  82. if(c==1)
  83. g<<smax<<'\n';
  84. else
  85. g<<nr<<'\n';
  86. return 0;
  87. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement