• 1201 18岁生日


    Problem Description
    Gardon的18岁生日就要到了,他当然很开心,可是他突然想到一个问题,是不是每个人从出生开始,到达18岁生日时所经过的天数都是一样的呢?似乎并不全都是这样,所以他想请你帮忙计算一下他和他的几个朋友从出生到达18岁生日所经过的总天数,让他好来比较一下。
     
    Input
    一个数T,后面T行每行有一个日期,格式是YYYY-MM-DD。如我的生日是1988-03-07。
     
    Output
    T行,每行一个数,表示此人从出生到18岁生日所经过的天数。如果这个人没有18岁生日,就输出-1。
     
    Sample Input
    1 1988-03-07
     
    Sample Output
    6574
     1 #include <iostream>
     2 #include <algorithm>
     3 #include <stdio.h>
     4 #include <math.h>
     5 #include <string.h>
     6 #include <time.h>
     7 using namespace std;
     8 int main()
     9 {
    10     char a,b;
    11     int n,x,y,z,i,sum;
    12     while(cin>>n)
    13     {
    14         while(n--)
    15         {
    16             scanf("%d%c%d%c%d",&x,&a,&y,&b,&z);
    17             if(y==2&&z==29)
    18             cout<<"-1"<<endl;
    19             else
    20             {
    21                 sum=0;
    22                 if(y>=3)
    23                 {
    24                     for(i=x+1;i<=x+18;i++)
    25                     if(i%4==0&&i%100!=0||i%400==0)
    26                     sum++;
    27                 }
    28                 else
    29                 {
    30                     for(i=x;i<=x+17;i++)
    31                     if(i%4==0&&i%100!=0||i%400==0)
    32                     sum++;
    33                 }
    34                 cout<<sum+6570<<endl;
    35             }
    36         }
    37     }
    38     return 0;
    39 }
    View Code

    一个并不困难的问题,只要归纳出:1.2月29 一定没有18岁生日。2.3月份之前要去计算闰年的时间从本年开始,3月份之后的从下年开始。

  • 相关阅读:
    实现对象属性的lazy-loading(延迟加载)
    Scikit-Learn机器学习入门
    实现后门程序以及相应的rootkits,实现对后门程序的隐藏
    关于iptables命令
    基于netfilter和LVM的密码窃取
    实验一:网络嗅探器
    实验二:ICMP重定向攻击
    第八节课、第九节
    第六、七课
    python读取excel文件
  • 原文地址:https://www.cnblogs.com/wang-ya-wei/p/5248475.html
Copyright © 2020-2023  润新知