zoukankan      html  css  js  c++  java
  • POJ 1006 Biorhythms

    1.题目的大意是给定三个数a1, a2, a3,求出一个数,这个数除以23, 28, 33得到的余数为a1, a2, a3;

    2.从网上查到用中国余数定理,以下是找到的资料:

    若某数x分别被d1、、…、dn除得的余数为r1、r2、…、rn,则可表示为下式:
    x=R1r1+R2r2+…+Rnrn+RD
    其中R1是d2、d3、…、dn的公倍数,而且被d1除,余数为1;
    R1 、R2…、

    Rn是d1、d2、…、dn-1的公倍数,而且被dn除,余数为1;
    D是d1、d2、…、的最小公倍数;
    R是任意整数,可根据实际需要决定;
    且d1、、…、必须互质,以保证每个Ri(i=1,2,…,n)都能求得.

    根据上面的条件求出常数R1 = 5544,R2 = 14421,R3 = 1288,D = 21252
    每次给的数据中的前三个值即相当于上面的余数。
    则显然:
    res = R1 * Physical + R2 * Emotion + R3 * Intelligence + RD - givenDate
    并且0 =< res <= D

    #include<iostream>
    using namespace std;
    
    int main()
    {
        int ph, em, ic, date, ans;
        int R1 = 5544, R2 = 14421, R3 = 1288, D = 21252;
        int i = 0;
        while(cin >> ph >> em >> ic >> date && ph != -1)
        {
            ans = (R1 * ph + R2 * em + R3 * ic + D - date) % D;
            if(ans == 0)
                ans = D;
            i ++;
            cout << "Case " << i <<": the next triple peak occurs in " << ans <<" days." << endl;
        }
        return 0;
    }
    


  • 相关阅读:
    尝试用phpmyadmin去getshell
    docker入门及环境搭建
    初始sql注入
    用BurpSuite爆破DVWA
    Sudo提权漏洞复现
    maccms后门分析
    webpack构建流程分析笔记
    《图解 HTTP》 阅读摘要
    offsetHeight、clientHeight、scrollHeight、offsetLeft 区别笔记
    js ==和===的区别
  • 原文地址:https://www.cnblogs.com/dollarzhaole/p/3188935.html
Copyright © 2011-2022 走看看