计算星期几的公式(欧拉计划19)

本文介绍了计算星期几的两种公式:基姆拉尔森公式和蔡勒公式。基姆拉尔森公式中,W = (d+2*m+3*(m+1)/5+y+y/4-y/100+y/400+1)%7,而蔡勒公式为 w=(y+y/4+c/4-2c+(m+1)*13/5+d-1)%7。对于1月和2月的情况,需要特殊处理。C++实现代码也在文中提及。
摘要由CSDN通过智能技术生成

一:基姆拉尔森计算公式

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

d:day

m:month

y:year

当m=1或者m=2时

m+=12;y--

也就是把本年的一月二月当作上一年的13月和14月

(公式太长有点难记,我又不能理解这个公式怎么推出来的,过程实在太复杂)

C++代码:

#include<iostream>
#include<cstdlib>
#include<cstring>
#include<cstdio>
#include<algorithm>
#include<cmath>
#include<set>
#include<map>
using namespace std;
int main()
{
    int y,m,d,w;
    while(cin>>y>>m>>d)
    {
        if(m<3)
        {
            m+=12;
            y--;
        }
        w=(d+2*m+(m+1)*3/5+y+y/4+y/400-y/100+1)%7;
        cout<<w<<endl;//输出是几就代表星期几,0代表星期天
    }//2019 7 27 输出是6,代表这天是星期六
    return 0;
}

二:蔡勒公式

这个好像更难记住</

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值