Pagini recente » Cod sursa (job #256371) | Cod sursa (job #1868789) | Cod sursa (job #1989677) | Cod sursa (job #32782) | Cod sursa (job #2353723)
#include <stdio.h>
#include <stdlib.h>
void do_nothing(int null)
{}
int main()
{
int N;
FILE *read=fopen("ciur.in","r");
FILE *write=fopen("ciur.out","w");
int null;
null=fscanf(read,"%d",&N);
do_nothing(null);
int *marked=(int*)calloc(N+1,sizeof(int));
int number_of_primes=0;
int first_unchecked=2;
if(N==1)
fprintf(write,"%d\n",0);
else
{
number_of_primes++;
while(1)
{
for(int i=1;first_unchecked*i<=N;i++)
marked[first_unchecked*i]=1;
while(first_unchecked<=N+1)
{
if(marked[first_unchecked]==0)
break;
first_unchecked++;
}
if(first_unchecked==N+1)
break;
number_of_primes++;
}
}
fprintf(write,"%d\n",number_of_primes);
free(marked);
fclose(read);
fclose(write);
return 0;
}