Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <fstream>
- #define NN 20005
- using namespace std;
- ifstream f("numere23.in");
- ofstream g("numere23.out");
- int n,k,c,poz=1,nr;
- int sol[NN];
- char ciur[NN],ciur3[NN];
- int main()
- {
- int i,j,i2;
- f>>n>>k>>c;
- for(i=2;i<NN;++i)
- ciur[i]=1;
- for(i=2;i<=NN;++i)
- if(ciur[i])
- for(j=2;j*i<NN;++j)
- ciur[i*j]=0;
- for(i=2;i<=NN;++i)
- ciur3[i]=ciur[i];
- for(i=2;i<NN;++i)
- for(j=i;j*i<NN;++j)
- if(ciur[i]==1&&ciur[j]==1)
- ciur3[i*j]=1;
- for(i=2;i<NN;++i)
- for(j=i;j*i<NN;++j)
- for(i2=j;i2*j*i<NN;++i2)
- if(ciur[i]==1&&ciur[j]==1&&ciur[i2]==1)
- ciur3[i*j*i2]=1;
- if(c==1)
- {
- for(i=2,j=0;j<n;++i)
- if(ciur3[i]==1)
- ++j;
- g<<i-1<<'\n';
- return 0;
- }
- for(i=2;nr<n;++i)
- if(ciur3[i])
- {
- sol[poz]=i;
- ++nr;
- if(nr<n)
- for(i2=1;i2<=k;++i2)
- {
- ++poz;
- if(poz>n)
- poz=1;
- while(sol[poz])
- if(poz<n)
- ++poz;
- else
- poz=1;
- }
- }
- for(i=1;i<=n;++i)
- g<<sol[i]<<' ';
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement