Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<bits/stdc++.h>
- using namespace std;
- int prime[300000],nprime;
- int mark[1000000];
- void sieve(int n)
- {
- int i,j,limit= sqrt(n*1.)+2;
- mark[1] = 1;
- for(i=4;i<=n;i+=2)
- mark[i]=1;
- prime[nprime++]=2;
- for(i=3;i<=n;i+=2)
- if(!mark[i])
- {
- prime[nprime++]=i;
- if(i<=limit)
- {
- for(j=i*i;j<=n;j+=i*2)
- {
- mark[j]=1;
- }
- }
- }
- }
- main()
- {
- int n;
- cin>>n;
- sieve(n);
- for(int i=0;i<nprime;i++)
- cout<<prime[i]<<" ";
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement