zoukankan      html  css  js  c++  java
  • 生理周期 (枚举)

    生理周期 
     输入 
      输入四个整数:p, e, i和d。 p, e, i分别表示体力、情感和
    智力高峰出现的日子。d是给定的日子,可能小于p, e或 i。
    所有给定日子是非负的并且小于或等于365,所求的日子小于
    或等于21252。 
     
     输出 
      从给定日子起,下一次三个高峰同一天的日子(距离给定日子
    的天数)。 

     

     输入样例 
    0 0 0 0 
    0 0 0 100 
    5 20 34 325 
    4 5 6 7 
    283 102 23 320 
    203 301 203 40 
    -1 -1 -1 -1 

     

     输出样例 
    Case 1: the next triple peak occurs in 21252 days. 
    Case 2: the next triple peak occurs in 21152 days. 
    Case 3: the next triple peak occurs in 19575 days. 
    Case 4: the next triple peak occurs in 16994 days. 
    Case 5: the next triple peak occurs in 8910 days. 
    Case 6: the next triple peak occurs in 10789 days. 

    简单的枚举,但是里面跳着试的思想真的是一个不错的思想!!!

    问题相同,所用的思想却不同。

    #include <iostream> 
    #include <cstdio> 
    using namespace std; 
    #define N  21252 
    int main(){ 
      int p,e,i,d,caseNo = 0; 
      while(  cin >> p >> e >>i >>d && p!= -1) { 
        ++ caseNo; 
        int k; 
        for(k = d+1; (k-p)%23; ++k); //如果(k-p)%23不为0,继续下一步
        for(; (k-e)%28; k+= 23); //跳过23个确保是23的倍数
        for(; (k-i)%33; k+= 23*28); //跳过23*28个,在此基础上查找直到出现三个数公共的倍数
        cout << "Case " << caseNo <<  
        ": the next triple peak occurs in " << k-d << " days." << endl; 
      }    
      return 0;           
    }
    

      

    永远渴望,大智若愚(stay hungry, stay foolish)
  • 相关阅读:
    Java基础之开发工具Eclipse的使用
    Java基础之身份证验证
    如何理解“程序=算法+数据结构”这句话
    JDBC
    Java与其它语言的比较
    Java整体之JavaEE
    Java项目之项目模板(登录注册)
    二进制
    计算机发展历程
    Spring错误:org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.binding.Bi
  • 原文地址:https://www.cnblogs.com/h-hkai/p/7416664.html
Copyright © 2011-2022 走看看