Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <fstream>
- #include <cstring>
- #define nmax 100000
- using namespace std;
- int v[nmax + 5],av[nmax + 5];
- bool c[nmax + 5];
- int main(int argc,const char * argv[])
- {
- ifstream f("elimin_prime.in");
- ofstream g("elimin_prime.out");
- int n,i,na=0;
- f>>n;
- for(i=1;i<=n;++i)
- f>>v[i];
- for(i=2;i*i<=nmax;++i)
- if(!c[i])
- for(int j=i*i;j<=nmax;j+=i)
- c[j]=1;
- while(n)
- {
- memset(av,0,sizeof(av));
- na=0;
- for(i=1;i<=n;++i)
- {
- if(!c[i])
- g<<v[i]<<' ';
- else
- av[++na]=v[i];
- }
- memcpy(v,av,sizeof(av));
- n=na;
- }
- g<<'\n';
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement