Cod sursa(job #1188501)

Utilizator apopeid15Apopei Daniel apopeid15 Data 19 mai 2014 19:19:40
Problema Fractii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.86 kb
#include <stdio.h>
#define N_MAX 1000000
int phi[ N_MAX ];
 
void ciur ( int n ){
    char prim[ n + 1 ];
    long long i, j;
    for ( i = 2; i <= n; i++ ){
        prim[ i ] = 0;
        phi[ i ] = i;
    }
    for ( i = 2; i <= n; i++ ){
        if ( !prim[ i ] ){
            phi[ i ] = i - 1;
            for ( j = i + i; j <= n; j += i ){
                prim[ j ] = 1;
                phi[ j ] /= i;
                phi[ j ] *= i - 1;
            }
        }
    }
    return ;
}
 
int main()
{
    FILE *in = fopen ( "fractii.in", "r" );
    int n;
    fscanf ( in, "%d", &n );
    fclose ( in );
    ciur ( n );
    long long rez = 1;
    int i;
    for ( i = 2; i <= n; i++ ){
        rez += 2 * phi [ i ];
    }
    FILE *out = fopen ( "fractii.out", "w" );
    fprintf ( out, "%lld", rez );
    fclose ( out );
    return 0;
}