hdu 1576 求解模线性方程
2012-07-27 23:30
239 查看
题意:
已知 gcd(B, mod)=1, A%B==0,A/B *B=n(mod mod);
给出B,n;求 A/B= ans (mod mod)中的ans
题解:
求解模线性方程
先求A/B,令A/B=x
则有B*x=n(mod mod),可想到扩展欧几里德
求出x,因为这里的x是B*x=1(mod 9973)的解,x之后还要乘n
代码如下:
已知 gcd(B, mod)=1, A%B==0,A/B *B=n(mod mod);
给出B,n;求 A/B= ans (mod mod)中的ans
题解:
求解模线性方程
先求A/B,令A/B=x
则有B*x=n(mod mod),可想到扩展欧几里德
求出x,因为这里的x是B*x=1(mod 9973)的解,x之后还要乘n
代码如下:
#include<iostream> #include<cstdio> using namespace std; const int mod=9973; __int64 a,b,c,d,x,y; __int64 exgcd(__int64 a,__int64 b) { if(b==0) { x=1;y=0; return a; } d=exgcd(b,a%b); __int64 xx=y,yy=x-a/b*y; x=xx;y=yy; return d; } int main() { int cas; scanf("%d",&cas); while(cas--) { __int64 B,n; scanf("%I64d%I64d",&n,&B); d=exgcd(B,mod); x*=n; printf("%d\n",(x%mod+mod)%mod); } return 0; }
相关文章推荐
- HDU 1576 A/B 扩展欧几里德算法 模线性方程入门题
- HDU 1576 A/B 扩展欧几里德算法 模线性方程入门题
- POJ2115 扩展欧几里德算法求解模线性方程
- 线性方程求解之 二范数类型
- POJ2115——C Looooops(扩展欧几里德+求解模线性方程)
- 求解模线性方程
- POJ - 2115 C Looooops(扩展欧几里德求解模线性方程(线性同余方程))
- HDU 1576 A/B 欧几里德扩展方程
- nyoj 1178 && hdu 5105 Math Problem 求解一元二次三次方程
- POJ 2142 TheBalance 模线性方程求解
- HDU-5615(Jam's math problem)(方程求解)
- POJ 2115 C Looooops(扩展欧几里德 + 求解模线性方程)
- 算法导论-----数论-----求解模线性方程
- HDU 4033【数学几何余弦定理+二分求解方程】
- POJ 2115 简单的模线性方程求解
- uva-12169&&hdu-2769-Disgruntled Judge 扩展欧几里得,模线性方程
- hdu_2348_三分求解最值方程_数学题_少用tan
- 推广的欧几里得算法--对于求解 线性模方程 有用
- 关于正规方程求解线性回规问题中的最终的值θ
- 线性模方程求解