Cod sursa(job #1576352)

Utilizator tudorvTudor Vatavu tudorv Data 22 ianuarie 2016 12:19:48
Problema Invers modular Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.47 kb
#include <fstream>

using namespace std;
int main()
{
    ifstream fin ("inversmodular.in");
    ofstream fout ("inversmodular.out");
    int n, d, fi;

    fin >> n;
    d=2;
    fi=n;
    while (n>1&&d*d<=n);
    {
        if (n%d==0)
        {
            fi=(fi/d)*(d-1);
            while (n%d==0)
                n=n/d;
        }
        d++;
    }
    if (n>1) fi=(fi/n)*(n-1);
    fout << fi;
    fin.close();
    fout.close();
    return 0;
}