【数论系列】 基姆拉尔森计算公式
创作时间:
作者:
@小白创作中心
【数论系列】 基姆拉尔森计算公式
引用
CSDN
1.
https://blog.csdn.net/qq_40772692/article/details/80330346
基姆拉尔森计算公式用于计算一周内的日期。比如给你年月日,从而计算今天是星期几。假设 d为日,m为月,y为年,则其表达式如下:
Week = (d+2*m+3*(m+1)/5+y+y/4-y/100+y/400+1) mod 7, 3<=m<=14
Week的取值范围是06,其中0代表星期日,16分别代表星期一到星期六。 注意 在运算时要把1月和2月看为是上一年的13月和14月代入计算!其模板代码如下:
int Date(int y,int m,int d) int week = (d + 2*m +3*(m+1)/5 + y + y/4 - y/100 + y/400 + 1)%7; return week;//其中0~6表示周日、周一到周六
例题分析
HDU6112 今夕何夕
接下来最近的哪一年里的同一个日子,和今天的星期数一样?
int Date(int y,int m,int d) int week = (d + 2*m +3*(m+1)/5 + y + y/4 - y/100 + y/400 + 1)%7; if((y%4==0&&y%100!=0)||y%400==0) scanf("%d-%d-%d",&year,&month,&day); int week = Date(year,month,day); for(int i = year+1;i<10000;i++)//枚举判断 if(judgeYear(year)&&month==2&&day==29&&!judgeYear(i))continue;//注意特别判断第一年闰年2月29第二年不存在的情况! if(week == Date(i,month,day)){
热门推荐
喀什必去景点,惊艳你的旅行!
琼瑶诉于正抄袭案:作文抄袭的严重后果
学术写作必备神器:远离抄袭陷阱
紫薯黑米粥:养生秘籍与制作指南
《恐怖奶奶》下载攻略:你敢挑战吗?
白血病患者的饮食秘籍:动物肝脏大揭秘
李达教授推荐:中医调理助力白血病康复
北京医院专家推荐:白血病患者饮食指南
茶叶过不过期?如何判断及一般保存年限
过期牛奶还能喝吗?教你辨别牛奶变质、延长保存期限!
避雷线:高压电塔的守护者
国家统计局:2024年全国居民人均可支配收入41314元 比上年名义增长5.3%
高端产业,和月薪三千的我有什么关系?
生態廁所如何不沖水也不臭?志工實做模型完整公開
Elasticsearch如何优雅处理并发冲突?
怀化秋冬打卡必去的两大古镇:黔阳古城与洪江古商城
茶过期了还能喝吗?探讨茶的有效期以及可能带来的风险
正常人一次排尿多少毫升为正常
禅宗慧能:顿悟与渐修的智慧
六祖慧能:顿悟与渐修的智慧
美国定期存款利息:利率、计算方法及税收规定
沈阳携手金地,共推经济新高度
文科股份财报出炉:如何解读其投资价值?
文科股份:国资赋能助力转型,多措并举提振信心
身上骨头到处有疼痛感是什么病引起的?
淮安市公布2024年创新企业榜单,4家科技上市企业、41家科技上市培育企业入选
中国历史上著名的四大“阳谋”,至今仍无人破解,你知道几个呢?
权力与傀儡:汉献帝与曹操的微妙关系
权力与傀儡:汉献帝与曹操的微妙关系
罚金与罚款有什么区别