Advertisement
AlexAvram

Untitled

Mar 20th, 2023
14
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.49 KB | None | 0 0
  1. #include <iostream>
  2. #include <fstream>
  3. #include <vector>
  4. using namespace std;
  5. ifstream f("cufere.in");
  6. ofstream g("cufere.out");
  7. bool ciur[101];
  8. void eratostene()
  9. {
  10. int i, j;
  11. ciur[0]=ciur[1]=1;
  12. for (i=2; i<=10; ++i)
  13. if(!ciur[i])
  14. for (j=i*i; j<=100; j+=i)
  15. ciur[j]=1;
  16. }
  17. vector<short>v;
  18. int fr[101];
  19. int main()
  20. {
  21. short C, n, x; int cn;
  22. f>>C>>n;
  23. cn=n*27;
  24. int i, k=0;
  25. for (i=1; i<=cn; ++i)
  26. {
  27. f>>x;
  28. fr[x%100]+=x/100;
  29. }
  30. if(C==1)
  31. {
  32. for (i=10; i<=100; ++i)
  33. if(fr[i])
  34. g<<i<<" "<<fr[i]<<'\n';
  35. }
  36. else
  37. {
  38. eratostene();
  39. v.resize(cn+1);
  40. for (i=10; i<=100; ++i)
  41. {
  42. if(fr[i])
  43. {
  44. if(ciur[i])//nu e prim
  45. {
  46. while(fr[i]>64)
  47. {
  48. v[++k]=6400+i;
  49. fr[i]-=64;
  50. }
  51. v[++k]=fr[i]*100+i;
  52. }
  53. else
  54. {
  55. while(fr[i]>16)
  56. {
  57. v[++k]=1600+i;
  58. fr[i]-=16;
  59. }
  60. v[++k]=fr[i]*100+i;
  61. }
  62. }
  63. }
  64. for (i=1; i<=cn; ++i)
  65. {
  66. g<<v[i]<<" ";
  67. if(i%9==0)
  68. g<<'\n';
  69. }
  70. }
  71. return 0;
  72. }
  73.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement