Cod sursa(job #1577753)

Utilizator raikadoCri Lu raikado Data 23 ianuarie 2016 19:42:46
Problema Ciurul lui Eratosthenes Scor 100
Compilator c Status done
Runda Arhiva educationala Marime 0.43 kb
#include <stdio.h>
#include <stdlib.h>

int ciur(int n)
{
	int total = 0;
	char *x = calloc((n+1), sizeof(char));
	int i,j;
	for (i = 2; i <= n; ++i)
	{
		if (x[i] == 0)
		{
			++total;
			for (j = i*2; j <= n; j += i)
			{
				x[j] = 1;
			}
		}
	}

	free(x);
	return total;
}

int main()
{
    freopen("ciur.in", "rt", stdin);
    freopen("ciur.out", "wt", stdout);
    int n;
    scanf("%d", &n);
    printf("%d", ciur(n));

    return 0;
}