Cod sursa(job #2138134)

Utilizator banutraul1234567Banut Raul Emanuel banutraul1234567 Data 21 februarie 2018 13:23:05
Problema Fractii Scor 30
Compilator c Status done
Runda Arhiva de probleme Marime 0.69 kb
#include <stdio.h>
#include <stdlib.h>

FILE *f,*g;
int main()
{
    int i,m,w=0,k=0,p[10000],pw[10000],n,fi,nr=0,j;
    f=fopen("fractii.in","r");
    g=fopen("fractii.out","w");
    fscanf(f,"%d",&n);
    for(j=n;j>1;j--){
        m=j;
        k=0;
        for(i=2;m!=1;i++){
            if(m%i==0){
                while(m%i==0){
                    m/=i;
                    w++;
                }
                pw[k]=w;
                p[k++]=i;
                w=0;
            }
        }
        for(i=0,fi=1;i<k;i++)
        {
            fi*=(p[i]-1)*pow(p[i],pw[i]-1);
        }

        nr+=fi*2;
    }
    nr++;
    fprintf(g,"%d",nr);
    return 0;
}