Cod sursa(job #262079)

Utilizator moonbeamElma Moonbeam moonbeam Data 18 februarie 2009 23:10:03
Problema Ciurul lui Eratosthenes Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.45 kb
#include<stdio.h>
#define N 2000001
char huge c[N];
int n;
void ciur()
{
  float p=n;
  for (int i=2; i*i<=n; ++i)
  {
    int ok=0;
    while (n%i==0)
    {
    n/=i; ++ok;
    }
    if (ok)
       p*=(float)(i-1)/i;
  }
  if (n>1)
     p*=(float)(n-1)/n;
  printf("%f",p);
}
void citire()
{
  freopen("ciur.in","r",stdin);
  freopen("ciur.out","w",stdout);
  scanf("%d",&n);
}

int main()
{
  citire();
  ciur();
  return 0;
}