Cod sursa(job #2708408)

Utilizator TudorNNechifor Tudor-Mihail TudorN Data 18 februarie 2021 17:57:21
Problema Fractii Scor 30
Compilator c-64 Status done
Runda Arhiva de probleme Marime 0.73 kb
#include <stdio.h>
#include <stdlib.h>

int cmmdc(int a, int b){
    while(b){
        int r=a%b;
        a=b;
        b=r;
    }
    return a;
}

void numar(int N, int *nrfractii){
    int v[1000001];
    int x=0;
    int i, j;
    for(i=1; i<=N; i++)
        v[i]=i;
    for(i=2; i<=N; i++)
        if(v[i]==i){
            v[i]--;
            for(j=2; j*i<=N; j++)
                v[j*i]=v[j*i]/i*(i-1);
        }
    for(i=1; i<=N; i++)
        x+=v[i];
    *nrfractii=x;
}

int main(){
    int N, nrfractii;
    FILE *f;
    f=fopen("fractii.in", "r");
    fscanf(f, "%d", &N);
    fclose(f);
    numar(N, &nrfractii);
    nrfractii=nrfractii*2-1;
    f=fopen("fractii.out", "w");
    fprintf(f, "%d", nrfractii);
    fclose(f);
    return 0;
}