需求:
给定一个xxxx-xx-xx日期,计算为星期几。

设定
int y; //年
int m; //月
int d; //日
int w; //周几

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

公式推导链接

其实也可用if/else的判断进行
注意要点:闰年366天,平年365天,闰年2月份29天,平年2月份28天。设年n
如果n%4=0同时n%100!=0或者n%400==0则n为闰年,否则为平年

根据已知公元1年1月1日星期一来推算。
其中,要把一月和二月看成是上一年的十三月和十四月,例:如果是2004-1-10则换算成:2003-13-10来代入公式计算。

#include<iostream>
#include<cstdio>
#include<cmath>
#include<algorithm>
using namespace std;
int main()
{char weekname[][10]={"Monday","Tuseday","Wednesday","Thursday","Friday","Saturday","Sunday"};int year;int month;int day;printf("请输入年份:");scanf("%d",&year);printf("请输入月份:");scanf("%d",&month);printf("请输入日期:");scanf("%d",&day);if((month == 1) || (month == 2)){month += 12;year--;}int w;w = (day+2*month+3*(month + 1)/5+year+year/4-year/100+year/400)%7;printf("这一天是%s\n",weekname[w]);
}

基姆拉尔森计算公式(快速推导当前日期是周几)相关推荐

  1. 基姆拉尔森计算公式 推导

    基姆拉尔森计算公式 推导 需求: 给定一个xxxx-xx-xx日期,计算为星期几. 设定 int y; //年 int m; //月 int d; //日 int w; //周几 从 公元0年1月1日 ...

  2. 基姆拉尔森计算公式:计算每个月1号是周几的公式

    算法如下:基姆拉尔森计算公式W= (d+2*m+3*(m+1)/5+y+y/4-y/100+y/400) mod 7在公式中d表示日期中的日数,m表示月份数,y表示年数.注意:在公式中有个与其他公式不 ...

  3. C语言根据日期(年,月,日)判断星期几(使用基姆拉尔森计算公式)

    C语言根据日期判断星期几(使用基姆拉尔森计算公式) 算法如下:  基姆拉尔森计算公式 W= (d+2*m+3*(m+1)/5+y+y/4-y/100+y/400) mod 7 在公式中d表示日期中的日 ...

  4. 基姆拉尔森计算公式(根据日期判断星期几)

    //基姆拉尔森计算公式根据日期判断星期几 void CalculateWeekDay(int y, int m,int d){if(m==1||m==2) m+=12,y--;int iWeek = ...

  5. 根据日期判断星期几(使用基姆拉尔森计算公式)

    基姆拉尔森计算公式 W= (d+2*m+3*(m+1)/5+y+y/4-y/100+y/400) mod 7 在公式中d表示日期中的日数,m表示月份数,y表示年数. 注意:在公式中有个与其他公式不同的 ...

  6. 蔡基姆拉尔森计算公式

    用一道题目,了解这个公式: 有一个公式可以快速地根据日期计算这一天是星期几,这被称为蔡基姆拉尔森计算公式,假设星期为w,年份为y,月份为m,日期为d. w =(d+2×m+3×(m+1)/5+y+y/ ...

  7. C语言根据日期计算星期——基姆拉尔森计算公式

    公式 基姆拉尔森计算公式 w = ( day + 2month +3(month+1)/5 + year + year/4 - year/100 +year/400)%7 根据已知公元1年1月1日星期 ...

  8. 使用C语言根据年月日求星期(基姆拉尔森计算公式)。

    题目 题目: 根据年月日求星期. 以下是本篇文章正文内容,欢迎朋友们进行指正,一起探讨,共同进步.--来自考研路上的lwj 一.解题思路 思路: 本题主要使用这个算法求出把算法代入程序即可: 基姆拉尔 ...

  9. 根据年月日计算是星期几的函数,基姆拉尔森计算公式

    算法如下:  基姆拉尔森计算公式 W= (d+2*m+3*(m+1)/5+y+y/4-y/100+y/400) mod 7 在公式中d表示日期中的日数,m表示月份数,y表示年数. 注意:在公式中有个与 ...

最新文章

  1. 【总结整理】JS的继承
  2. 奇淫怪巧之在Delphi中调用不申明函数
  3. 《深入理解Java虚拟机》笔记6——高效并发
  4. 答TOGAF企业架构的一些问题
  5. Boost:boost::asio模块的prioritised handlers优先处理程序
  6. C# 操作MSSQL数据库类
  7. python能做什么-python都能干什么用
  8. java 虚拟机--新生代与老年代GC [转]
  9. python使用递归、尾递归、循环三种方式实现斐波那契数列
  10. matlab7安装包+Matlab 7出现【unknown exception】解决办法—亲测可用
  11. java游戏怎么安装_新手入门--Java游戏与程序安装的两种方式
  12. TTL和CMOS的区别
  13. 这五大基础原理,总是牛逼的无话可说
  14. Springcloud整合Eureka报错[TransportException: Cannot execute request on any known server.]一站式解决
  15. MY-IKuai-2
  16. 行业上的品牌策划公司是怎么做品牌策划方案的?
  17. 使用自定义注解实现接口的参数校验
  18. TortoiseSVN配置外部对比工具
  19. Altium Designer初学教程(一)
  20. face id与人脸解锁_为什么Face ID比Android的人脸解锁更安全

热门文章

  1. 单片机 怎调用显示屏字库_单片机巧用Windows矢量字库
  2. 计算机基础微课毕业论文,计算机基础微课教学研究
  3. 小妹使用栈实现计算器(下)
  4. 22点到凌晨5点是几个小时_22点到凌晨5点是几个小时_寅时是几点到几点:3点-5点(24小时凌晨3时~凌晨5时)......
  5. linux下for命令详解,linux 命令详解 十一
  6. 2023年上半年系统集成项目管理工程师上午真题及答案解析
  7. 神经网络训练trick总结
  8. 计算机保研经验(中科大、北航、成电、西交、南大)
  9. 复合函数专题c语言,高考数学复合函数知识点归纳
  10. 使用CSS3中的column-rules属性实现仿报纸新闻排版