51nod 1079 中国剩余定理
来源:互联网 发布:seo排名优化软件 编辑:程序博客网 时间:2024/06/05 20:03
1079 中国剩余定理
基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题
收藏
取消关注
一个正整数K,给出K Mod 一些质数的结果,求符合条件的最小的K。例如,K % 2 = 1, K % 3 = 2, K % 5 = 3。符合条件的最小的K = 23。
Input
第1行:1个数N表示后面输入的质数及模的数量。(2 <= N <= 10)第2 - N + 1行,每行2个数P和M,中间用空格分隔,P是质数,M是K % P的结果。(2 <= P <= 100, 0 <= K < P)
Output
输出符合条件的最小的K。数据中所有K均小于10^9。
Input示例
32 13 25 3
Output示例
23
中国剩余定理的一道模板题了,其题目即中国剩余定理所能解决的问题,嘛,所以就不多说了,直接上代码吧~
#include<iostream> #include<cstdio> #include<cstring> #include<cstdlib> #include<algorithm> using namespace std; typedef __int64 LL; int n; LL k[12],p[12]; LL egcd(LL a,LL b,LL &x,LL &y) { LL d; if(b==0) { x=1; y=0; return a; } else { d=egcd(b, a%b, y, x); y-=a/b*x; return d; } } LL lmes() { LL i,tm=1,mf,y,ret=0,m; for(i=0;i<n;i++) {tm*=p[i]; } for(i=0;i<n;i++) { m=tm/p[i]; egcd(m,p[i],mf,y); ret+=(k[i]*m*(mf%p[i]))%tm; } while(ret<=0){ ret+=tm; } return ret%tm; } int main() { scanf("%d",&n); for(int i=0; i<n; i++) { scanf("%I64d%I64d",&p[i],&k[i]); } printf("%I64d\n",lmes()); return 0; }
0 0
- 51nod 1079 中国剩余定理
- 51nod 1079 中国剩余定理
- 51nod--1079 中国剩余定理
- 51nod 1079 中国剩余定理
- 51nod:1079 中国剩余定理
- 51nod 1079 中国剩余定理
- 51nod 1079 中国剩余定理
- 51nod-1079中国剩余定理
- 51nod 1079 中国剩余定理
- 51nod 1079 中国剩余定理
- 51nod 1079 中国剩余定理
- 51Nod-1079-中国剩余定理
- 51nod-1079 中国剩余定理
- 51Nod-1079-【数学】中国剩余定理
- 51nod 1079 中国剩余定理
- 51Nod 1079:中国剩余定理
- 【51 nod 1079 中国剩余定理】
- 51Nod-1079 中国剩余定理
- 腾讯2017暑期实习生笔试题解题答案汇总
- Beaglebone Black更新系统的方法http://blog.csdn.net/neuseeker/article/details/50553938
- android四大组件之contentprovider与service简介
- 改革春风吹满地_hdu2036_计算几何
- Codeforces702E Analysis of Pathes in Functional Graph(倍增)
- 51nod 1079 中国剩余定理
- 备份数据库
- memcached如何保存超过30天
- 斯坦福公开课Machine Learning笔记(十三)--ICA
- 图像处理中边缘检测和轮廓检测的区别
- 解决@ResponseBody注解返回中文乱码
- XPath 语法
- 硬盘的读写原理
- C#控制台基础 在数组指定的位置,设定指定的值