题目描述
给出一个有理数c=a/b,求c%mod 19260817的值。
输入输出格式
输入格式:
一共两行。
第一行,一个整数aa。
第二行,一个整数bb。
输出格式:
一个整数,代表求余后的结果。如果无解,输出Angry!
输入输出样例
输入样例#1:
233
666
输出样例#1:
18595654
【AC代码】:
#include<bits/stdc++.h>
#define M(a,b) memset(a,b,sizeof(a))
#define mod 19260817
using namespace std;
inline void read(long long &x){
char ch=getchar(),c=ch;
x=0;
while(ch<'0' || ch>'9'){
c=ch;
ch=getchar();
}
while(ch>='0' && ch<='9'){
x=(x<<1)+(x<<3)+ch-'0';
ch=getchar();
}
if(c=='-')x=-x;
}
long long a,b,x,y;
void exgcd(long long x,long long y){
if(!y)
{
a=1;
b=0;
return;
}
exgcd(y,x%y);
long long k=a;
a=b;
b=k-(x/y)*b;
return;
}
int main(){
read(x),read(y);
if(y==0){
printf("Angry!");
return 0;
}
exgcd(y,mod);
y=(a+mod)%mod;
printf("%lld",(x%mod*y%mod)%mod);
return 0;
}