POJ 2891 Strange Way to Express Integers(解一元线性同余方程组)
来源:互联网 发布:淘宝付费流量来源有 编辑:程序博客网 时间:2024/05/21 22:35
以前对其理解有误,由于其和中国剩余定理有一定相似的地方,写这篇文章开始将其命名为中国剩余定理的不互质情况,为了与中国剩余定理区分,将这篇正式更名为解一元线性同余方程组,这样或许更加严谨一点。过几天再写真正的中国剩余定理。
关于公式的证明
代码部分参考HIT出版的《数论及其应用》
#include <cstdio>using namespace std;typedef long long ll;void Ext_Gcd(ll a,ll b,ll &d,ll &x,ll &y){ if(!b){ x=1; y=0; d=a; } else { Ext_Gcd(b,a%b,d,x,y); ll t=x; x=y; y=t-a/b*y; }}int main(){ ll n; while(~scanf("%I64d",&n)){ bool ifhave=true; ll a1,r1,a2,r2; scanf("%I64d%I64d",&a1,&r1); for(ll i=1;i<n;i++) { scanf("%I64d%I64d",&a2,&r2); ll a=a1,b=a2,c=r2-r1,d,x,y; Ext_Gcd(a,b,d,x,y); if(c%d) ifhave=false; ll t=b/d; x=x*c/d; x=(x%t+t)%t; r1=a1*x+r1; a1=a1/d*a2; } if(ifhave) printf("%I64d\n",r1); else printf("-1\n"); } return 0;}
- POJ 2891 Strange Way to Express Integers(解一元线性同余方程组)
- POJ 2891 Strange Way to Express Integers 解一元线性同余方程组
- POJ 2891 Strange Way to Express Integers(exgcd—解一元线性同余方程组)
- POJ 2891 Strange Way to Express Integers(一元线性同余方程组模版题)
- POJ 2891 Strange Way to Express Integers(一元线性同余方程组)
- poj 2891 Strange Way to Express Integers 一元线性同余方程组
- poj 2891 Strange Way to Express Integers(一元线性同余方程组)
- poj 2891 Strange Way to Express Integers(解线性同余方程组) + hdu 1573
- POJ 2891 Strange Way to Express Integers解线性同余方程组(中国剩余定理不互质版)
- 【POJ2891】Strange Way to Express Integers-解一元线性同余方程组
- poj2891 Strange Way to Express Integers【解一元线性同余方程组模板】
- poj 2891 Strange Way To Express Integers(线性同余方程组)
- poj 2891 Strange Way to Express Integers(线性同余方程组求解)
- POJ2891——Strange Way to Express Integers(一元线性同余方程组)
- POJ2891 Strange Way to Express Integers【一元线性同余方程组】
- POJ2891 Strange Way to Express Integers 一元线性同余方程组
- Strange Way to Express Integers(poj2891线性同余方程组)
- POJ2891 Strange Way to Express Integers 线性同余方程组
- IOS内存常见问题与内存检查工具
- 过程procedure(重点)
- ViewFilpper 实例之图片切换
- ActiveReports 报表应用教程 (9)---交互式报表之动态排序
- 61条Java面向对象设计的经验原则
- POJ 2891 Strange Way to Express Integers(解一元线性同余方程组)
- 2013 暑假多校训练 1 总结
- setLayout: Attempting to set QLayout "" on MainWindow "MainWindow", which already has a layout
- Linux写makefile
- 演示视频链接:15分钟搞定主从结构WinForm开发
- ActiveReports 报表应用教程 (10)---交互式报表之向下钻取(详细数据按需显示解决方案)
- [leetcode]Search a 2D Matrix
- ActiveReports 报表应用教程 (11)---交互式报表之文档目录
- jar导入