Cod sursa(job #1525929)

Utilizator kassay_akosKassay Akos kassay_akos Data 15 noiembrie 2015 18:35:05
Problema Generare de permutari Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.65 kb
#include <iostream>
#include <fstream>
#include <math.h>
#include <stdio.h>      // for memset
#include <string.h>     // for memset
using namespace std;
#define nmax 2000001

char num[nmax];
int n;
int main()
{
    freopen("ciur.in","r",stdin);
	freopen("ciur.out","w",stdout);
	scanf("%d",&n);
    memset (num,0,n);
    int q = sqrt(n);
    int i = 2, s;
    while (i <= q ) {
        for (s = i*i; s <= n; num[s]=1,s+=i) ;
        i++;
        while (num[i] != 0) i++;
    }
    for (s = 0, i = 2; i <= n ; i++)
        if (num[i]==0)
            s++;
    printf("%d",s);
    fclose(stdin);
    fclose(stdout);
    return 0;
}