poj2891
2016-02-01 22:17
330 查看
链接:点击打开链接
题意:解同余方程组
代码:
题意:解同余方程组
代码:
#include <math.h> #include <stdio.h> #include <string.h> #include <iostream> #include <algorithm> using namespace std; void exgcd(long long a,long long b,long long &d,long long &x,long long &y){ if(!b) x=1,y=0,d=a; else{ exgcd(b,a%b,d,y,x); y-=x*(a/b); } } int main(){ long long n,d,x,y,i,t,a,b,c,a1,a2,r1,r2,sign; while(scanf("%I64d",&n)!=EOF){ sign=0; scanf("%I64d%I64d",&a1,&r1); for(i=1;i<n;i++){ scanf("%I64d%I64d",&a2,&r2); a=a1,b=a2,c=r2-r1; exgcd(a,b,d,x,y); //每两个同余方程组求出一组解,从而解出所有的解 if(c%d!=0) sign=1; t=b/d; x=(x*(c/d)%t+t)%t; r1=a1*x+r1; a1=a1*(a2/d); } if(sign) puts("-1"); else printf("%I64d\n",r1); //解同余方程组的模板 } return 0; }
相关文章推荐
- jquery表单数据反序列化为字典
- asyn_fifo
- Your First Java Program
- JavaScript
- 一些集合面试题
- docker常用的命令
- MVC学习1
- m3u文件转pls文件(go语言实现)
- JAVA-事件处理
- 读书列表
- find的用法基础
- 默认软件
- Jquery自定义扩展方法(二)--HTML日历控件
- oracle system change number(SCN) 下 检查点
- win32 文件写入(包括追加到文件尾)WriteFile CreateFile
- QT5.5.0版本添加icon图标步骤
- QT5.5.0版本添加icon图标步骤
- 微软智能云布局高端服务,全面升级云计算竞争
- 使用grep搜索文件内容
- javascript实现端口扫描