Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <fstream>
- #include <vector>
- using namespace std;
- ifstream f("cufere.in");
- ofstream g("cufere.out");
- bool ciur[101];
- void eratostene()
- {
- int i, j;
- ciur[0]=ciur[1]=1;
- for (i=2; i<=10; ++i)
- if(!ciur[i])
- for (j=i*i; j<=100; j+=i)
- ciur[j]=1;
- }
- vector<short>v;
- int fr[101];
- int main()
- {
- short C, n, x; int cn;
- f>>C>>n;
- cn=n*27;
- int i, k=0;
- for (i=1; i<=cn; ++i)
- {
- f>>x;
- fr[x%100]+=x/100;
- }
- if(C==1)
- {
- for (i=10; i<=100; ++i)
- if(fr[i])
- g<<i<<" "<<fr[i]<<'\n';
- }
- else
- {
- eratostene();
- v.resize(cn+1);
- for (i=10; i<=100; ++i)
- {
- if(fr[i])
- {
- if(ciur[i])//nu e prim
- {
- while(fr[i]>64)
- {
- v[++k]=6400+i;
- fr[i]-=64;
- }
- v[++k]=fr[i]*100+i;
- }
- else
- {
- while(fr[i]>16)
- {
- v[++k]=1600+i;
- fr[i]-=16;
- }
- v[++k]=fr[i]*100+i;
- }
- }
- }
- for (i=1; i<=cn; ++i)
- {
- g<<v[i]<<" ";
- if(i%9==0)
- g<<'\n';
- }
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement