Cod sursa(job #940194)

Utilizator costyv87Vlad Costin costyv87 Data 15 aprilie 2013 19:57:04
Problema Fractii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.79 kb
//HighFlow
#include <cstdio>
#include <vector>
#include <string>
#include <bitset>
#include <fstream>
#include <string.h>
#include <math.h>
#include <algorithm>
#define fcat(c) while (c!='\n') fscanf(f,"%c",&c)
#define cat(c) while (c!='\n') scanf("%c",&c)
#define For(i,st,dr,k) for (int i=(st);i<=(dr);i+=(k))
#define ll (long long)
#define kfl(i,j) (a[(i)][(j)].c-a[(i)][(j)].f)
using namespace std;
FILE *f,*g;
int phi[1000100];
long long ans;
int i,j,n;

int main()
{
    f=fopen("fractii.in","r");
    g=fopen("fractii.out","w");
    fscanf(f,"%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]=(phi[j]/i)*(i-1);
        ans=ll ans+phi[i];
    }

    fprintf(g,"%lld",ans*2+1);//inverse si 1/1

	return 0;
}