Cod sursa(job #1973139)

Utilizator nicolaefilatNicolae Filat nicolaefilat Data 24 aprilie 2017 17:13:23
Problema Fractii Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.87 kb
#include <iostream>
#include <fstream>
#define MAX 100000

using namespace std;

ifstream in("fractii.in");
ofstream out("fractii.out");

int N,v[MAX];

void initializare(int N){
    for(int i = 1; i <= N; i ++){
        v[i] = i;
    }
    for(int i = 2 ; i <= N; i ++){
        if(v[i] == i){
            for(int j = i; j <= N; j += i){//j merge din multipli de i
                v[j] -= v[j]/i;
                cout<<j<<":"<<v[j]<<endl;
            }
        }
    }
}
int main()
{   in>>N;
    long long s = 0;

    initializare(N);

    for(int i = 1; i <= N; i ++){
        s += v[i];//se aduna valorile din v pentru fiecare i la solutie
    }
    out<<s+s-1;//la solutie nu am luat in considerare ca si n/1 este fractie ireductibila
    /*obsrevatie:
        in al trilea for s-a adunat la solutie si 1 , de aceea s+s-1
    */


    return 0;
}