死神(日期暴力破解问题)

一天蒜头君和好友们遇到了死神,每人向死神提问了一个问题,问自己还剩余多少时间。但死神那里没有直接记录他们还剩下多少时间,记录的是他们生命结束的那天。

这就很头疼了,计算日期这么复杂的事情还是交给聪明的你吧。

下面是每个人生命结束的日期(起始时间从今天算起,今天 20170223),请计算出他们一共剩下多少时间:

2901-10-19

2561-3-13

2284-5-27

2359-5-19

2944-5-15

2756-2-9

2337-12-17

2457-10-14

2716-8-14

2698-7-13

2731-9-6

2295-3-6

2553-6-16

2078-7-15

2155-1-8

2657-11-2

2864-10-17

2468-1-4

2795-1-15

2953-1-5

package 蓝桥杯2018年B组第三次模拟赛;

import java.util.Scanner;

public class 死神 {

    /**
     * @param args
     */
    static int[] month_day={0,31,28,31,30,31,30,31,31,30,31,30,31};//存放每个月的天数
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Scanner scan=new Scanner(System.in);
        String[] strs=new String[20];
        for(int i=0;i<20;i++){
            strs[i]=scan.next();
        }
        int[] days=new int[20];
        for(int i=0;i<20;i++){
            days[i]=qiuDay(strs[i]);
        }
        int sum=0;
        for(int i=0;i<20;i++){
            sum+=days[i];
        }
        System.out.print(sum);
    }
    public static int qiuDay(String str){
        String[] strs=new String[2];
        strs=str.split("-");
        int year=Integer.parseInt(strs[0]);
        int month=Integer.parseInt(strs[1]);
        int day=Integer.parseInt(strs[2]);
        int tagYear=2017;
        int tagMonth=2;
        int tagDay=23;
        for(int i=1;;i++){
            tagDay++;
            if(isRunNian(tagYear)){
                month_day[2]=29;//闰年二月29天
            }else{
                month_day[2]=28;
            }
            if(tagDay>month_day[tagMonth]){
                tagDay=1;
                tagMonth++;
            }
            if(tagMonth>12){
                tagMonth=1;
                tagYear++;
            }
            if(tagYear==year&&tagMonth==month&&tagDay==day){
                //System.out.println(i);
                return i;
            }
        }
    }
    public static boolean isRunNian(int year){
        if(year%400==0||(year%4==0&&year%100!=0)){
            return true;
        }
        return false;
    }
}

 

posted @ 2018-03-25 10:54  henu小白  阅读(304)  评论(0编辑  收藏  举报