Cod sursa(job #2356944)

Utilizator alex.carpCarp Alexandru alex.carp Data 27 februarie 2019 00:10:13
Problema Invers modular Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.81 kb
#include <fstream>

using namespace std;
ifstream f("sirul2.in");
ofstream g("sirul2.out");
const int P=20173333;
long long q,x1,y1,q1,q2,q3;
int c,u,n;
void euclid(long long &x,long long &y,int a,int b)
{
    if(!b)
    {
        x=1;
        y=0;
    }
    else
    {
        euclid(x,y,b,a%b);
        long long aux=x;
        x=y;
        y=aux-y*(a/b);
    }
}
int main()
{f>>c>>n>>u;
if(c==1)
{
    q1=1;
    for(int i=1;i<n;i++)
        {
            q1=q1*i%P;
            if(i==n-u)
                q2=q1;
            if(i==u-1)
                q3=q1;
        }
   /* euclid(x1,y1,q2,P);
    if(x1<=0)
        x1=P+x1%P;
    q=q1*x1%P;
    x1=0;y1=0;
    euclid(x1,y1,q3,P);
    if(x1<=0)
        x1=P+x1%P;
    q=q*x1%P;*/
    g<<(q1/(q2*q3))%P;

}
    return 0;
}