Cod sursa(job #1729901)

Utilizator LDPalcuPalcu Daniela LDPalcu Data 15 iulie 2016 19:43:55
Problema Fractii Scor 30
Compilator c Status done
Runda Arhiva de probleme Marime 0.7 kb
#include <stdio.h>
#include <stdlib.h>
int phi[1000000];
void euler(int n)
{
    int i,j;
    for (i=1;i<=n;i++)
        phi[i]=i-1;
    for (i=2; i<=n; i++)
        for (j=2*i; j<=n; j+=i)
            phi[j]-=phi[i];
}
int main()
{
    FILE *pf,*pg;
    pf=fopen("fractii.in","r");
    if (pf==NULL)
    {
        printf("Nu s-a putut deschide fisierul!");
        exit(1);
    }
    pg=fopen("fractii.out","w");
    if (pg==NULL)
    {
        printf("Nu s-a putut crea fisierul!");
        exit(2);
    }
    unsigned int n;
    fscanf(pf,"%d",&n);
    euler(n);
    int i;
    for (i=1; i<=n; i++)
        phi[n+1]+=phi[i];
    fprintf(pg,"%d",2*phi[n+1]+1);
    return 0;
}