• 【POJ1006】Biorhythms


    题面

    人自出生起就有体力,情感和智力三个生理周期,分别为23,28和33天。一个周期内有一天为峰值,在这一天,人在对应的方面(体力,情感或智力)表现最好。通常这三个周期的峰值不会是同一天。现在给出三个日期,分别对应于体力,情感,智力出现峰值的日期。然后再给出一个起始日期,要求从这一天开始,算出最少再过多少天后三个峰值同时出现。

    分析

    中国剩余定理(CRT)裸题

    一句话概括中国剩余定理:(每个式子的余数*其他所有数的最小公倍数模当前数的逆元*其他所有数的最小公倍数)%所有数的最小公倍数

    因为CRT针对互质,所以所有数的最小公倍数等价于乘积,其他所有数的最小公倍数等价于乘积除以当前这个数。

    写成式子:

    其中

    代码

    #include<iostream>
    #include<cstring>
    #include<cstdio>
    #include<algorithm>
    using namespace std;
    int p,e,i,d,n,cnt,lcm=21252;
    int main()
    {
        while(scanf("%d%d%d%d",&p,&e,&i,&d)&&p!=-1)
        {
            n=(5544*p+14421*e+1288*i-d+21252)%21252;
            if(n==0)n=21252;
            printf("Case %d: the next triple peak occurs in %d days.
    ",++cnt,n);
        }
    }
  • 相关阅读:
    Java Native Method
    SQL语句优化
    Ibatis的环境搭建以及遇到的问题解决
    Java 构建器
    SpringMVC自定义视图 Excel视图和PDF视图
    java 枚举的常见使用方法
    mysql 根据某些字段之和排序
    MFC The Screen Flickers When The Image Zoomed
    How To Debug Qmake Pro File
    Gcc And MakeFile Level1
  • 原文地址:https://www.cnblogs.com/NSD-email0820/p/9911254.html
Copyright © 2020-2023  润新知