Cod sursa(job #2564572)

Utilizator RaduZevriRadu Zevri RaduZevri Data 1 martie 2020 23:20:02
Problema Ciurul lui Eratosthenes Scor 50
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.48 kb
#include<stdio.h>

int main(){
	freopen("ciur.in","r",stdin);
	freopen("ciur.out","w",stdout);
	int n;
	scanf("%d",&n);
	int p[n+2];
	for(int i=1;i<=n;i++) p[i]=0;
	p[1] = 1;
	p[0] = 1;
	
	for(int i=2;i<=2;i++){
		if(p[i]) continue;
		int j = 2;
		int k = n/i;
		while(j<=k){
			p[i*j]=1;
			j++;
		}
	}

	for(int i=3;i<=n;i+=2){
		if(p[i]) continue;
		int j = 2;
		int k = n/i;
		while(j<=k){
			p[i*j]=1;
			j++;
		}
	}
	int c=0;
	for(int i=1;i<=n;i++)  if(!p[i]){c++;}
	printf("%d",c);
}