昨天我细致一想,发现自己之前的分类(用OJ来划分,毫无意义啊。)太失败了,所以我又一次划分了一下大分类,在分到数论的时候,我就想起了中国剩余定理了。于是乎今天就刷了一题中国剩余定理的题目了。话说太久没作数学题。导致我连例子都调了好多次(在算逆元时候老是算错~烦恼!),好在提交时候是1A。

题目的意思就是:人有三个周期,记为p,e,i,周期天数分别为23,28,33,如今给定你三个时间a,b,c,和一个天数d,a,b,c分别表示p,e,i出现的天数,问下一次出现的大于d的天数是今年的第几天,即输出天数X-d.由于23,28,33互素,所以就能够用中国剩余定理啦!

否则的话,仅仅能分解了!

上学期学数论的时候非常多时候多是要自己分解~

对于28*33,23*33,23*28分别求逆元(不知道什么是逆元的话。你能够理解为n是n' mod m的逆元,当且仅当n*n' mod m=1),得到6,19,2.

之后答案就是ans=6*28*33*a+19*23*33*b+2*23*28*c + k*(23*28*33),这个k要取到ans>d

ACcode

/***********************************************************
> OS : Linux 3.2.0-60-generic #91-Ubuntu
> Author : yaolong
> Mail : dengyaolong@yeah.net
> Time : 2014年06月09日 星期一 07:34:32
**********************************************************/
#include<iostream>
#include<cstdio>
#include<string>
#include<cstring>
using namespace std;
int b[5];
int main(){ int a;
//23,28,33
int m=23*28*33;
int M[]={6,19,2};
int M_[]={28*33,23*33,23*28};
cin>>a; int ind=1;
while(cin>>b[0]>>b[1]>>b[2]>>b[3]){
if(b[0]==-1&&b[1]==-1&&b[2]==-1&&b[3]==-1){
return 0;
}
int ans=0;
for(int i=0;i<3;i++){
ans=(ans+M[i]*M_[i]*b[i])%m;
}
while(ans<=b[3]){
ans+=m;
}
cout<<"Case "<<(ind++)<<": the next triple peak occurs in "<<ans-b[3]<<" days."<<endl; } return 0;
}

HDU1370(中国剩余定理)的更多相关文章

  1. 中国剩余定理+扩展中国剩余定理 讲解+例题(HDU1370 Biorhythms + POJ2891 Strange Way to Express Integers)

    0.引子 每一个讲中国剩余定理的人,都会从孙子的一道例题讲起 有物不知其数,三三数之剩二,五五数之剩三,七七数之剩二.问物几何? 1.中国剩余定理 引子里的例题实际上是求一个最小的x满足 关键是,其中 ...

  2. poj1006 ( hdu1370 ):中国剩余定理裸题

    裸题,没什么好说的 第一个中国剩余定理 写暴力都过了..可见这题有多水 代码: #include<iostream> #include<stdio.h> #include< ...

  3. Biorhythms HDU - 1370 (中国剩余定理)

    孙子定理: 当前存在三个式子,t%3=2,t%5=3,t%7=2.然后让你求出t的值的一个通解. 具体过程:选取3和5的一个公倍数t1能够使得这个公倍数t1%7==1,然后选取3和7的一个公倍数t2使 ...

  4. CRT中国剩余定理 & Lucas卢卡斯定理

    数论_CRT(中国剩余定理)& Lucas (卢卡斯定理) 前言 又是一脸懵逼的一天. 正文 按照道理来说,我们应该先做一个介绍. 中国剩余定理 中国剩余定理,Chinese Remainde ...

  5. ACM/ICPC 之 中国剩余定理+容斥原理(HDU5768)

    二进制枚举+容斥原理+中国剩余定理 #include<iostream> #include<cstring> #include<cstdio> #include&l ...

  6. 中国剩余定理(Chinese Remainder Theorem)

    我理解的中国剩余定理的含义是:给定一个数除以一系列互素的数${p_1}, \cdots ,{p_n}$的余数,那么这个数除以这组素数之积($N = {p_1} \times  \cdots  \tim ...

  7. 51nod1079(中国剩余定理)

    题目链接: http://www.51nod.com/onlineJudge/user.html#!userId=21687 题意: 中文题诶~ 思路: 本题就是个中国剩余定理模板题,不过模拟也可以过 ...

  8. HDU 5446 中国剩余定理+lucas

    Unknown Treasure Time Limit: 1500/1000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Other ...

  9. poj1006生理周期(中国剩余定理)

    /* 中国剩余定理可以描述为: 若某数x分别被d1..….dn除得的余数为r1.r2.….rn,则可表示为下式: x=R1r1+R2r2+…+Rnrn+RD 其中R1是d2.d3.….dn的公倍数,而 ...

随机推荐

  1. UUID+随机数

    import java.util.Random; import java.util.UUID; public class UUIDUtils { public static String getUUI ...

  2. bootstrapValidator常用验证规则总结

    bootstrapValidator常用验证规则总结 一 .bootstrapValidator引入 在使用bootstrapValidator前我们需要引入bootstrap和bootstrapVa ...

  3. let var区别

    function varTest() { var x = 1; if (true) { var x = 2; // 同样的变量! console.log(x); } console.log(x); } ...

  4. Androi开发 ---Fragment片段布局案例

    效果图: 1.MainActivity.java package com.example.android_activity; import android.app.Activity; import a ...

  5. java中String的认识

    String不是Java的基本数据类型.String类是final类,故不可继承. String 和 StringBuffer之间的区别非常大,Java平台提供了两个类,两者都是包含多个字符的的字符数 ...

  6. HDU 2063 (二分图最大匹配)

    RPG girls今天和大家一起去游乐场玩,终于可以坐上梦寐以求的过山车了.可是,过山车的每一排只有两个座位,而且还有条不成文的规矩,就是每个女生必须找个个男生做partner和她同坐.但是,每个女孩 ...

  7. 5.Python爬虫入门五之URLError异常处理

    大家好,本节在这里主要说的是URLError还有HTTPError,以及对它们的一些处理. 1.URLError 首先解释下URLError可能产生的原因: 网络无连接,即本机无法上网 连接不到特定的 ...

  8. c#dataGridView 知识

    一.单元格内容的操作 // 取得当前单元格内容 Console.WriteLine(DataGridView1.CurrentCell.Value); // 取得当前单元格的列 Index Conso ...

  9. 在html5中不支持<table>的cellpadding 和 cellspacing ; 2) 如何用css实现 cellpadding, cellspacing ; 3) tr , th 是 有 border, 没有 padding 的.

    1.初始: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF ...

  10. 图片 100%显示. img 全部显示.

    让每个图片 都铺满 ,同样的大小;    只要给 img 设置 固定的高度, 宽度就可以 了. ----------------------- html: <div class="co ...