• 蓝桥杯 时间问题


    Link一个不错的Java组历届题解

    时间问题解法:

    1.利用Excel

    2.Java的Calendar类

    3.时间差模板

    1.2018蓝桥杯JavaA组2-星期一(利用Excel):https://blog.csdn.net/guanghuichenshao/article/details/79781039 

    2.如果时间在1970.1.1之后可以使用Java自带的Calendar类计算日期。

    比如:

    2013蓝桥杯JavaA组1-世纪末的星期

    世纪末的星期
    题目:
    曾有邪教称1999年12月31日是世界末日。当然该谣言已经不攻自破。
    还有人称今后的某个世纪末的12月31日,如果是星期一则会....
    有趣的是,任何一个世纪末的年份的12月31日都不可能是星期一!! 
    于是,“谣言制造商”又修改为星期日......
    1999年的12月31日是星期五,请问:未来哪一个离我们最近的一个世纪末年(即xx99年)的12月31日正好是星期天(即星期日)?


    请回答该年份(只写这个4位整数,不要写12月31等多余信息)

    import java.util.Calendar;
    import java.util.Scanner;
    
    public class Main {
    
        static Scanner sc = new Scanner(System.in);
        
        public static void main(String[] args) {
            
            Calendar cal = Calendar.getInstance();
            for(int i=1999;i<=9999;i+=100) {
                cal.set(Calendar.YEAR, i);
                cal.set(Calendar.MONTH, 11);  //12月
                cal.set(Calendar.DATE, 31);
                int w=cal.get(Calendar.DAY_OF_WEEK);
                if(w==1) {      //星期天为1、星期一为2...星期六为7
                    System.out.println(i);
                    break;
                }
            }
        }
    }

    3.时间差:蓝桥杯常考题板。。

    #include<stdio.h>
    int main()
    {
        int n,y1,m1,d1,y2,m2,d2,c1,c2,i,j,k;
        int a[2][12]={{0,31,28,31,30,31,30,31,31,30,31,30},
                      {0,31,29,31,30,31,30,31,31,30,31,30}};
        scanf("%d",&n);
        for(k=1;k<=n;k++){
            scanf("%d%d%d%d%d%d",&y1,&m1,&d1,&y2,&m2,&d2);
            c1=0;c2=0;
            for(i=1;i<y1;i++){
                if(i%4==0&&i%100!=0||i%400==0) c1+=366;
                else c1+=365;
            }
            for(i=1;i<m1;i++){
                if(y1%4==0&&y1%100!=0||y1%400==0) c1+=a[1][i];
                else c1+=a[0][i];
            }
            c1+=d1;
            for(i=1;i<y2;i++){
                if(i%4==0&&i%100!=0||i%400==0) c2+=366;
                else c2+=365;
            }
            for(i=1;i<m2;i++){
                if(y2%4==0&&y2%100!=0||y2%400==0) c2+=a[1][i];
                else c2+=a[0][i];
            }
            c2+=d2;
            printf("%d
    ",c2-c1);
        }
        return 0; 
    }
  • 相关阅读:
    AgilePoint模型驱动BPM(业务流程管理)介绍
    WF从入门到精通(第五章):workflow跟踪 (转)
    昕友.亿达PM项目管理软件 结构草图
    C++之虚拟继承
    Using Batch Parameters
    Static 关键字 C and C++
    something about code coverage planning
    C++ 虚函数表
    C++ FAQ for me
    Drag and Drop in WPF
  • 原文地址:https://www.cnblogs.com/yzm10/p/7191493.html
Copyright © 2020-2023  润新知