Cod sursa(job #1019389)

Utilizator Emanuel9Dumitru Emanuel Cristian Emanuel9 Data 31 octombrie 2013 00:12:12
Problema Ciurul lui Eratosthenes Scor 20
Compilator c Status done
Runda Arhiva educationala Marime 0.58 kb
//Ciurul lui Eratostene

#include <stdio.h>
#include <stdlib.h>
int A[120]={0},B[120]={0},n;
void vizitare(int A[],int n,int nr)
{
    int i;
    i=nr;
    while(i<=n)
    {
        A[i]=1;
        i+=nr;
    }
}
int main()
{
    int i;
    int nr=2;
    int k=1;
    freopen("ciur.in","r",stdin);
    freopen("ciur.out","w",stdout);
    scanf("%d",&n);
    vizitare(A,n,nr);
    B[nr]=nr;
    for(i=2;i<=n;i++){

        if(A[i]==0)
        {
            vizitare(A,n,i);
            B[i]=1;
            k++;
        }
    }
    printf("%d",k);
    return 0;
}