POJ 1006 Biorhythms [解题报告] Java
来源:互联网 发布:没提人工智能 编辑:程序博客网 时间:2024/06/04 01:27
http://www.acmerblog.com/POJ-1006-Biorhythms-blog-215.html
中国剩余定理
题目名字叫Biorhythms,翻译过来大概是“生物节律”吧。
这道题并不难,但是,挺有意思的。
先来看一个故事
传说西汉大将韩信,由于比较年轻,开始他的部下对他不很佩服。有一次阅兵时,韩信要求士兵分三路纵队,结果末尾多2人,改成五路纵队,结果末尾多3人,再改成七路纵队,结果又余下2人,后来下级军官向他报告共有士兵2395人,韩信立即笑笑说不对(因2395除以3余数是1,不是2),由于已经知道士兵总人数在2300->2400之间,所以韩信根据23,128,233,------,每相邻两数的间隔是105,便立即说出实际人数应是2333人(因2333=128+20χ105+105,它除以3余2,除以5余3,除以7余2)。这样使下级军官十分敬佩,这就是韩信点兵的故事。
简化:已知 n%3=2,n%5=3,n%7=2,求n。
再看我们这道题,读入p,e,i,d 4个整数,已知(n+d)%23=p; (n+d)%28=e; (n+d)%33=i ,求n 。
是不是一样呢?
呵呵,确实一样。想到这里觉得很兴奋。但是韩信是怎么计算出结果的呢?
随便google了一下,原来这个东西叫“中国剩余定理”,《孙子算经》中就有计算方法。
韩信应该是这样算的:
因为n%3=2,n%5=3,n%7=2且3,5,7互质
使5×7被3除余2,用35×2=70;
使3×7被5除余1,用21×1=21;
使3×5被7除余1,用15×1=15。
(70×2+21×3+15×2)%(3×5×7)=23
同样,这道题也应该是:
使33×28被23除余1,用33×28×6=5544;
使23×33被28除余1,用23×33×19=14421;
使23×28被33除余1,用23×28×2=1288。
(5544×p+14421×e+1288×i)%(23×28×33)=n+d
n=(5544×p+14421×e+1288×i-d)%(23×28×33)
来源:http://www.cppblog.com/AClayton/archive/2007/09/14/32186.html
0 0
- POJ 1006 Biorhythms [解题报告] Java
- POJ 1006 解题报告 Biorhythms
- poj 1006 Biorhythms C程序解题报告
- POJ-1006 生理周期(Biorhythms) 解题报告&AC代码
- POJ 1006 Biorhythms 解题报告(中国剩余定理)
- POJ1006 Biorhythms 解题报告
- POJ 1006Biorhythms解题报告——生理周期——【PKU ACM】
- POJ 1006解题报告
- E - Biorhythms解题报告(来自网络)
- POJ 1001 Exponentiation C++解题报告 JAVA解题报告
- poj 1006 Biorhythms
- poj 1006 Biorhythms
- poj 1006 Biorhythms
- POJ 1006 Biorhythms
- POJ 1006 Biorhythms
- POJ 1006 Biorhythms
- 【POJ】1006 Biorhythms
- POJ-1006:Biorhythms
- Doxygen + Graphviz windows下安装配置(图解)
- 关于在webbrowser控件里面打开word文档的问题
- oracle数据中记录被另一个用户锁住
- Linux 的档案属性与目录配置
- Android数据的四种存储方式SharedPreferences、SQLite、Content Provider和File
- POJ 1006 Biorhythms [解题报告] Java
- easy-ui 的标签页tab,默认不全部加载,只在点击某个标签时进行加载。
- IllegalMonitorStateException异常原因及解决办法
- QT4 升级到 QT5 改动:
- Java 接口和抽象类区别
- 微信公众帐号开发教程第5篇-各种消息的接收与响应
- 页面跳转后样式丢失js失效
- 社説 20150109 食品異物混入 企業も消費者も冷静に対応を
- 编程思想之迭代器什么是迭代器?