zoukankan      html  css  js  c++  java
  • nyoj219 计算日期 吉姆拉森公式

    An problem about date

    时间限制:2000 ms  |  内存限制:65535 KB
    难度:2
    描述

    acm的iphxer经常忘记某天是星期几,但是他记那天的具体日期,他希望你能写个程序帮帮他。

    输入
    每行有三个整数 year,month,day,日期在1600年1月1日到9600年1月1日之间;
    输出
    输出对应的星期,用一个整数表示;(星期一到星期六用1-6表示,星期日用0表示)
    样例输入
    2011 3 6
    1949 10 1
    2011 4 1
    1945 8 15
    样例输出
    0
    6
    5
    3
    View Code
    #include<stdio.h>
    int main()
    {
        int d,m,y;
        while(scanf("%d%d%d",&y,&m,&d)!=EOF)
        {
            if(m>=1&&m<=2)
            {
                m+=12;
                y-=1;
            }
            printf("%d\n",(d+2*m+3*(m+1)/5+y+y/4-y/100+y/400+1)%7);
        }
        return 0;
    }

    吉姆拉森公式关键是当月份是1 2是 要看做上一年的13 14月份,当然记者年份要减1

    我不明白的是 为何百度里面的没有加1

  • 相关阅读:
    ACM学习历程—HDU1719 Friend(数论)
    封装的方法
    MySql-rules
    MySql
    java深入探究07-jsp
    java深入探究06
    Jquery
    Ajax
    java深入探究05
    Oracle——索引,序列,触发器
  • 原文地址:https://www.cnblogs.com/zibuyu/p/2942459.html
Copyright © 2011-2022 走看看