Cod sursa(job #2913100)

Utilizator AntovladCioanca Vlad Antoniu Antovlad Data 12 iulie 2022 18:23:36
Problema Fractii Scor 20
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.72 kb
#include <iostream>
#include <fstream>

using namespace std;
ifstream fin("fractii.in");
ofstream fout("fractii.out");
int euler(int N)
{
    if(N==1)
    {
        return 1;
    }
    else
    {
        int p=2;
        while(N%p!=0)
        {
            p++;
        }
        int a=0;
        int put=1;
        int m=N;
        while(m%p==0)
        {
            a++;
            put=put*p;
            m=m/p;
        }
        return (put/p)*(p-1)*euler(N/put);


    }
}
int fractii(int N)
{
    if(N==1)
    {
        return 1;
    }
    if(N>1)
    {
        return fractii(N-1)+2*euler(N);
    }
}

int main()
{
    int N;
    fin>>N;
    fout<<fractii(N);
    return 0;
}