Cod sursa(job #275564)

Utilizator alexandru92alexandru alexandru92 Data 10 martie 2009 15:51:46
Problema Ciurul lui Eratosthenes Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.37 kb
#include<stdio.h>
#include<stdlib.h>
int n,phi[4000001],i,j;
int main()
  {
   freopen("ciur.in","rt",stdin);
   freopen("ciur.out","wt",stdout);
   scanf("%d",&n);
   for(i=1;i<=n;++i) phi[i]=i;
   for(i=2;i<=n;++i)
      if(phi[i]==i)
        for(j=i;j<=n;j+=i)
            phi[j]/=i,phi[j]*=(i-1);
   printf("%d\n",phi[n]);
   //system("PAUSE");
   return 0;
  }