Cod sursa(job #2848351)

Utilizator Sonia.06Braila Sonia Biliana Sonia.06 Data 12 februarie 2022 13:43:27
Problema Fractii Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.83 kb
#include <iostream>
#include <fstream>
#include <string.h>

using namespace std;
int N, V[1000001], i;

void euler(int N)  // pt fiecare nr de la 1 la N calculeaza cate nr mai mici sau egale cu i sunt prime cu i (pot forma o fractie ireductibila)
{
    for (i=1; i<=N; i++)
        V[i]=i;
    for (i=1; i<=N; i++)
    {
        if (V[i]=i) //daca nr e prim
        {
            V[i]--;
            for (int j=1; j<=N/i; j++)
                V[i*j]=V[i*j]/i*(i-1);  //incrementeaza fiecare V[x] pentru fiecare factor din descompunerea lui, la final V[x] continand indictaorul lui Euler pt nr x
        }
    }
}

int main()
{
    ifstream f("fractii.in");
    f>>N;
    ofstream g("fractii.out");

    euler(N);
    int nr=1;  // pentru 1/1
    for (i=1; i<=N; i++)
        nr+=V[i];

    g<<nr;

    return 0;
}