POJ 1006 Biorhythms 中国剩余定理
2016-12-07 22:45
405 查看
题目链接:http://poj.org/problem?id=1006
直接套板子
代码:
直接套板子
代码:
//#include <bits/stdc++.h> #include <cstdio> #include <cstring> using namespace std; int A[10],B[10]; //扩展欧几里得算法 int Extended_Euclid(int a,int b,int &x,int &y){ int d; if(b == 0){ x = 1,y = 0; return a; } d = Extended_Euclid(b,a % b,y,x); y -= a / b * x; return d; } //中国剩余定理 int CRT(int A[],int B[],int n){ int m = 1,ans = 0; for(int i = 0;i < n;++i) m = m * B[i]; for(int i = 0;i < n;++i){ int x,y; int Mi = m / B[i]; Extended_Euclid(Mi,B[i],x,y); ans = (ans + Mi * x * A[i]) % m; } if(ans <= 0) ans += m; return ans; } int main(){ int x = 23,y = 28,z = 33; int tmp,a,b,c,d,ca = 0; // scanf("%d",&tmp); while(scanf("%d %d %d %d",&a,&b,&c,&d) != EOF){ if(a == -1 && b == -1 && c == -1 && d == -1) break; B[0] = 23,B[1] = 28,B[2] = 33; A[0] = (a - d + B[0]) % B[0]; A[1] = (b - d + B[1]) % B[1]; A[2] = (c - d + B[2]) % B[2]; printf("Case %d: the next triple peak occurs in %d days.\n",++ca,CRT(A,B,3)); } }
相关文章推荐
- POJ 1006 Biorhythms (数论-中国剩余定理)
- 【poj 1006】Biorhythms 中国剩余定理
- POJ 1006 Biorhythms (数论-中国剩余定理)
- 【中国剩余定理】POJ 1006 & HDU 1370 Biorhythms
- poj 1006 Biorhythms 中国剩余定理
- POJ 1006 Biorhythms [中国剩余定理]
- POJ 1006 Biorhythms --中国剩余定理(互质的)
- POJ 1006 Biorhythms [中国剩余定理] 超短代码
- POJ 1006 ——Biorhythms 中国剩余定理模板
- POJ 1006 Biorhythms 中国剩余定理学习
- POJ 1006 Biorhythms 中国剩余定理
- poj 1006:Biorhythms(水题,经典题,中国剩余定理)
- Biorhythms(poj1006中国剩余定理)
- POJ1006 UVA756 UVALive5421 Biorhythms【中国剩余定理】
- 【中国剩余定理】POJ 1006 & HDU 1370 Biorhythms
- POJ 1006---Biorhythms【中国剩余定理】
- poj 1006 Biorhythms 中国剩余定理
- POJ 1006 Biorhythms(中国剩余定理 模板)
- 【中国剩余定理 && 扩展欧几里德】 POJ - 1006 Biorhythms
- POJ 1006-Biorhythms,中国剩余定理,学信安的路过!