Cod sursa(job #1508314)

Utilizator BlackREzRadut Alexandru Catalin BlackREz Data 22 octombrie 2015 14:50:57
Problema Invers modular Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.65 kb
#include <iostream>
#include <fstream>
#include <math.h>
using namespace std;
int euclid(int a, int b){
    int temp;
    temp=a%b;
    a=b;
    b=temp;
    if(b==0)
        if(a==1) return true;
        else return false;
    if(b!=0) euclid(a,b);
}
double solve(int x , int y){
    int i;
    int k=1,nr=1;
    if(x%y==0 || y%x==0)
            return -1;
    else{
        for(i=2;i<y;i++)
            if(euclid(y,i)==true) nr++;
        k=pow(k ,nr);
        return k % y;
    }
}
int main()
{
    ifstream f("inversmodular.in");
    ofstream g("inversmodular.out");
    int x,y;
    f>>x>>y;
    g<<solve(x , y);
    return 0;
}