• OpenJudge 2712


    2712:细菌繁殖

    Time Limit:
    1000ms
    Memory Limit:
    65536kB
    Description
    一种细菌的繁殖速度是每天成倍增长。例如:第一天有10个,第二天就变成20个,第三天变成40个,第四天变成80个,……。现在给出第一天的日期和细菌数目,要你写程序求出到某一天的时候,细菌的数目。
    Input
    第一行有一个整数n,表示测试数据的数目。其后n行每行有5个整数,整数之间用一个空格隔开。第一个数表示第一天的月份,第二个数表示第一天的日期,第三个数表示第一天细菌的数目,第四个数表示要求的那一天的月份,第五个数表示要求的那一天的日期。已知第一天和要求的一天在同一年并且该年不是闰年,要求的一天一定在第一天之后。数据保证要求的一天的细菌数目在长整数(long)范围内。
    Output
    对于每一组测试数据,输出一行,该行包含一个整数,为要求的一天的细菌数。
    Sample Input
    2
    1 1 1 1 2
    2 28 10 3 2
    
    Sample Output
    2
    40
    //两个同一年的日期相减 
    第一版 
    int month[12]={31,28,31,30,31,30,31,31,30,31,30,31};//无闰年 
    int start_m,start_d,end_m,end_d;
    int start_num;
    int sum_d = 0;
    if(start_m=end_m)
        sum_d = end_d - start_d;
    else
    {
        sum_d += month[start_m-1] - start_d;
        for(i=start_m+1;i<end_month;i++)
            sum_d += month[i-1];
        sum_d += end_d;
    }
    结果:start_num*pow(2,sum_day);
    
    
    
    第二版
    int day_of_year(int m,int d)//计算某月某日为非闰年中的第几天
     {   
         int res=0,a[]={31,28,31,30,31,30,31,31,30,31,30,31};   
         for (int i=0;i<=m-2;i++)      res+=a[i];
         return res+d;
     }
     
    

      



  • 相关阅读:
    跳出iframe
    leetcode 225. Implement Stack using Queues
    leetcode 206. Reverse Linked List
    leetcode 205. Isomorphic Strings
    leetcode 203. Remove Linked List Elements
    leetcode 198. House Robber
    leetcode 190. Reverse Bits
    leetcode leetcode 783. Minimum Distance Between BST Nodes
    leetcode 202. Happy Number
    leetcode 389. Find the Difference
  • 原文地址:https://www.cnblogs.com/hxsyl/p/2642190.html
Copyright © 2020-2023  润新知