博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
POJ1006-Biorhythms【中国剩余定理】
阅读量:2024 次
发布时间:2019-04-28

本文共 1303 字,大约阅读时间需要 4 分钟。

正题

题目链接:


题目大意

若干个 p , e , i , d p,e,i,d p,e,i,d。已经知道

{ ( d + x ) ≡ p ( m o d   23 ) ( d + x ) ≡ e ( m o d   28 ) ( d + x ) ≡ i ( m o d   33 ) \left\{\begin{matrix} (d+x)\equiv p(mod\ 23) \\ (d+x)\equiv e(mod\ 28) \\ (d+x)\equiv i(mod\ 33) \end{matrix}\right. (d+x)p(mod 23)(d+x)e(mod 28)(d+x)i(mod 33)
求最小的 x x x


中国剩余定理

m = ∏ i = 1 n m i , M i = m / m i , M i t i ≡ 1 ( m o d   m i ) m=\prod_{i=1}^nm_i,M_i=m/m_i,M_it_i\equiv 1(mod\ m_i) m=i=1nmi,Mi=m/mi,Miti1(mod mi)然后对于方程

{ x ≡ a 1 ( m o d   m 1 ) x ≡ a 2 ( m o d   m 2 ) . . . x ≡ a n ( m o d   m n ) \left\{\begin{matrix} x\equiv a_1(mod\ m_1) \\ x\equiv a_2(mod\ m_2) \\ ... \\ x\equiv a_n(mod\ m_n) \end{matrix}\right. xa1(mod m1)xa2(mod m2)...xan(mod mn)
x = ∑ i = 1 N a i M i , t i x=\sum_{i=1}^Na_iM_i,t_i x=i=1NaiMi,ti


解题思路

因为3个 m m m是固定的,所以直接中国剩余定理计算公式就好了。

a n s = ( 5544 ∗ p + 14421 ∗ e + 1288 ∗ i − d + 21252 ) % 21252 ans=(5544*p+14421*e+1288*i-d+21252)\%21252 ans=(5544p+14421e+1288id+21252)%21252


c o d e code code

#include
#include
#include
using namespace std;int p,e,i,d,ans,t;int main(){
while(scanf("%d%d%d%d",&p,&e,&i,&d)){
if(d<0) return 0;t++; ans=(5544*p+14421*e+1288*i-d+21252)%21252; if(!ans) ans=21252; printf("Case %d: the next triple peak occurs in %d days.\n",t,ans); }}

转载地址:http://ozkaf.baihongyu.com/

你可能感兴趣的文章
vue ie11 strict 模式下不允许一个属性有多个定义
查看>>
Vue 封装 自定义toast 插件并随处调用
查看>>
canvas 画圆角矩形头像合成图片
查看>>
搭建node 简易服务
查看>>
使用react 脚手架创建项目
查看>>
vue 生命周期浅出
查看>>
vue---子父、父子、非父子组件通信
查看>>
Python开发环境(2):启动Eclipse时检测到PYTHONPATH发生改变
查看>>
Python基础(1):dir(),help()
查看>>
Python基础(2):__doc__、文档字符串docString、help()
查看>>
Niagara AX之BajaScript资料哪里找
查看>>
Windows 10安装uWSGI:不可行、失败了
查看>>
Niagara AX之在Station下显示Home节点
查看>>
从Runoob的Django教程学到的
查看>>
控制点:ControlPoint
查看>>
Flask:初见
查看>>
Java Web 1-开发环境搭建(未完待续)
查看>>
Flask: Quickstart解读
查看>>
170406回顾-SQL Server的smalldatetime类型比较
查看>>
Flask:静态文件&模板(0.1)
查看>>