码迷,mamicode.com
首页 > 其他好文 > 详细

计算星期几【基姆拉尔森公式】

时间:2020-06-05 21:16:43      阅读:72      评论:0      收藏:0      [点我收藏+]

标签:cout   注意事项   sync   公式   www   col   ||   while   day   

基姆拉尔森公式推导

https://www.cnblogs.com/SeekHit/p/7498408.html

使用注意事项

注意要将本年的1月与2月视为下一年的13月与14月

计算公式

 w = (d + 1 + 2 * m + 3 * (m + 1) / 5 + y + y/ 4 - y / 100 + y / 400) % 7

代码

#include<iostream>
#include<cstdio>
using namespace std;
int CaculateWeekDay(int y, int m, int d)
{
    if (m == 1 || m == 2)m += 12, y--;
    int w = (d + 1 + 2 * m + 3 * (m + 1) / 5 + y + y/ 4 - y / 100 + y / 400) % 7;
    return w;
}
int main()
{
    std::ios::sync_with_stdio(false);
    std::cin.tie(0);
    std::cout.tie(0);
    int y, m, d;
    while (1)
    {
        cin >> y >> m >> d;
        cout << CaculateWeekDay(y, m, d);
    }
}

 

计算星期几【基姆拉尔森公式】

标签:cout   注意事项   sync   公式   www   col   ||   while   day   

原文地址:https://www.cnblogs.com/Jason66661010/p/13052176.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!