hdu 1576 A/B
http://acm.hdu.edu.cn/showproblem.php?pid=1576
思路
A/B%m经典问题,在(B,m)=1的情况下,转换为Bx+my = n ,扩展欧几里得得到最小正整数解即可,数论水题!
逆元详解
http://blog.csdn.net/acdreamers/article/details/8220787
参考代码
#include<iostream>
#include<cstdio>
#include<cstdlib>
using namespace std;
typedef long long ll;
const int _max = 20 + 10;
ll n,a,b,x,y,d;
ll extended_gcd(ll a,ll b,ll &x,ll &y){//ax+by=gcd(x,y)
if(b == 0){x = 1; y = 0; return a;}
ll d = extended_gcd(b,a%b,y,x);
y-=a/b*x;
return d;
}
int main(){
#ifndef ONLINE_JUDGE
freopen("input.txt","r",stdin);
#endif // ONLINE_JUDGE
int T;cin>>T;
while(T--){
scanf("%d%d",&n,&b);
d = extended_gcd(b,9973,x,y);
x*=n;
x = (x%9973 + 9973)%9973;//最小正整数
printf("%lld\n",x);
}
return 0;
}
- 加粗
Ctrl + B
- 斜体
Ctrl + I
- 引用
Ctrl + Q
- 插入链接
Ctrl + L
- 插入代码
Ctrl + K
- 插入图片
Ctrl + G
- 提升标题
Ctrl + H
- 有序列表
Ctrl + O
- 无序列表
Ctrl + U
- 横线
Ctrl + R
- 撤销
Ctrl + Z
- 重做
Ctrl + Y