HDU1370 Biorhythms【中国剩余定理】
问题链接:HDU1370 Biorhythms。
问题描述:参见上文。
问题分析:本题可以直接用中国剩余定理来解,同余方程如下:
X≡p(mod 23)
X≡e(mod 28)
X≡i(mod 33)
其中,23、28和33是两两互素的,满足中国剩余定理的前提条件。
程序说明:
这个题的原题应该是UVALive5421。
这个题与《POJ1006 UVA756 UVALive5421 Biorhythms》略有不同,就是需要输入起始case号,其他完全相同。
参考链接:POJ1006 UVA756 UVALive5421 Biorhythms
AC的C++语言程序:
/* HDU1370 Biorhythms */#include <stdio.h>// 递推法实现扩展欧几里德算法
long exgcd(long a, long b, long *x, long *y)
{long x0=1, y0=0, x1=0, y1=1;long r, q;*x=0;*y=1;r = a % b;q = (a - r) / b;while(r){*x = x0 - q * x1;*y = y0 - q * y1;x0 = x1;y0 = y1;x1 = *x;y1 = *y;a = b;b = r;r = a % b;q = (a - r) / b;}return b;
}// 扩展欧几里德算法求逆元
long minv(long a, long p)
{long x, y;exgcd(a, p, &x, &y);return x<0 ? x+p : x;
}// 中国剩余定理(Chinese remainder theorem, CRT)
long crt(long a[], long m[], int n)
{long bm=1, mi, x=0;int i;for(i=0; i<n; i++)bm *= m[i];for(i=0; i<n; i++) {mi = bm / m[i];x += a[i] * mi * minv(mi, m[i]);x %= bm;}return x;
}int main(void)
{long p, e, i, d;long a[3], m[3];long x, bm;int caseno;scanf("%d", &caseno);for(;;) {scanf("%ld%ld%ld%ld", &p, &e, &i, &d);if(p==-1 && e==-1 && i==-1 && d==-1)break;a[0] = p;a[1] = e;a[2] = i;m[0] = 23;m[1] = 28;m[2] = 33;bm = 23 * 28 * 33;x = crt(a, m, 3);while(x<=d)x += bm;printf("Case %d: the next triple peak occurs in %ld days.\n", caseno++, x-d);}return 0;
}
HDU1370 Biorhythms【中国剩余定理】相关推荐
- NUC1100 Biorhythms【中国剩余定理】
Biorhythms 时间限制: 1000ms 内存限制: 65536KB 问题描述 Some people believe that there are three cycles in a pers ...
- 【中国剩余定理】POJ 1006 HDU 1370 Biorhythms
题目链接: http://poj.org/problem?id=1006 http://acm.hdu.edu.cn/showproblem.php?pid=1370 题目大意: (X+d)%23=a ...
- Bailian2977 生理周期【枚举+中国剩余定理】
2977:生理周期 总时间限制: 1000ms 内存限制: 65536kB 描述 人生来就有三个生理周期,分别为体力.感情和智力周期,它们的周期长度为23天.28天和33天.每一个周期中有一天是高峰. ...
- Bailian4148 生理周期【枚举+中国剩余定理】
4148:生理周期 描述 人生来就有三个生理周期,分别为体力周期.感情周期和智力周期,它们的周期长度分别为23天.28天和33天.每一个周期中有一天是高峰.在高峰这天,人会在相应的方面表现出色.例如, ...
- ACM数论----中国剩余定理与拓展中国剩余定理
一.问题引入: 在<孙子算经>中有这样一个问题:"今有物不知其数,三三数之剩二(除以3余2),五五数之剩三(除以5余3),七七数之剩二(除以7余2),问物几何?"这个问 ...
- 【中国剩余定理】终于弄懂剩余定理了
[茅塞顿开--这么简单的东西我居然刚懂]//中国古代求解一次同余式组(见同余)的方法.是数论中一个重要定理.又称中国剩余定理. //中国剩余定理的结论: //令任意固定整数为M,当M/A余a,M/B余 ...
- 数论 · 中国剩余定理(CRT)
UPDATE 2021 - 12 - 10:补充扩展中国剩余定理 EXCRT,额外开了一篇博客写. 2021 - 12 - 21:修改了一两句话,更严谨一些. 问题概述 小奥里的韩信点兵问题: { x ...
- 中国剩余定理(孙子定理)的证明和c++求解
<孙子算经>里面的"物不知数"说的是这样的一个题目:一堆东西不知道具体数目,3个一数剩2个,5个一数剩3个,7个一数剩2个,问一共有多少个. 书里面给了计算过程及答案: ...
- 解题报告(十三)中国剩余定理(ACM / OI)
整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 繁凡出品的全新系列:解题报告系列 -- 超高质量算法题单,配套我写的超高质量的题解和代码,题目难度不一 ...
最新文章
- mysql err 1349_MySQL 视图 第1349号错误解决方法
- matlab 如何代码自已标注_MATLAB概述
- 20步打造最安全的Nginx Web服务器
- 安卓四大组件之Service
- java 不编译咋办_java – 为什么JVM不编译整个程序,而不是逐个编译?
- SVN 清理失败解决方案
- R语言如何并行处理[parallel package][向量化操作并行优化]
- RedHat Enterprise Linux 5下安装firefox
- 数据库优化java设计模式架构 策略 责任链
- Keil下载代码闪退的问题(已解决)
- JAVA解析JSON格式的数据
- 视频中的声音如何处理,如何添加背景音乐?
- 车载应用--AUXIN 利用 surfaceView 预览 Camera 数据
- sql统计某字段出现次数
- 热天的阅读日志,真的好热
- GRE词汇分类之责骂词汇
- SQL语句的基础教程(二)
- 1.2 LaTex排版
- 【C语言】解决 “error: function definition is not allowed here”
- Pandas-数据结构-Series(一):创建Series【①由字典创建;②由一维数组创建;③由标量创建】【Series的属性:index、values、name】
热门文章
- CentOS 7 安装 MySQL 5.6
- [推荐]HLSL编程实现PhotoShop滤镜效果
- vim写python_用 Vim 写 Python 的最佳实践
- SQL中 ROW_NUMBER 函数的用法
- win7 更新android sdk,大神为你详解win7系统android sdk manager无法更新的处理对策
- android自定义协议,Android / iOS-自定义URI /协议处理
- java多线程交替打印_java多线程 更优雅的实现线程同步:交替打印A、B LockSupport实现...
- MapReduce进程
- matlab提取线条,请问如何将图片中的红色激光线条给提取出来啊,有没有大佬救救孩子,贴出代码给瞅瞅啊!谢谢!...
- 限时促销_江北恒一乐优家丨限时优惠大促销