从20211202这个“千年一遇”说起
今天一天,不少人都在转发这个图:
身为一个理工科的直男,看到题目之后首先思考了2个问题:
- 对称日真的是千年一遇吗?
- 公元纪年至今,真的是第515个对称日吗
本着实(xian)事(zhe)求(wu)是(liao)的原则,随便算了一下。
手头刚好打开了一个powerbi,就用它来做吧。
正文开始
第一步:获取日期
很显然,公元100年之前不会有对称现象发生,那么我们就获取从0100年到2021年之间所有的日期,并将它们写成20211202的形式:
日期 = CALENDAR (DATE(100,1,1), DATE(2021,12,31))
yyyymmdd = FORMAT('日期'[Date],"yyyymmdd")
第二步:判断日期是否为对称
用最笨的方法写就可以了,第1个数字等于第8个,第2个等于第7个,……
是否对称 =
VAR a=[yyyymmdd]
return IF(
MID(a,1,1)=MID(a,8,1)&&MID(a,2,1)=MID(a,7,1)&&MID(a,3,1)=MID(a,6,1)&&MID(a,4,1)=MID(a,5,1),
1,0)
我们一共得到了83个日期,他们分别是:
0101-10-10、0110-01-10、0111-11-10、0120-02-10、0121-12-10、0130-03-10、0140-04-10、0150-05-10、0160-06-10、0170-07-10、0180-08-10、0190-09-10、0201-10-20、0210-01-20、0211-11-20、0220-02-20、0221-12-20、0230-03-20、0240-04-20、0250-05-20、0260-06-20、0270-07-20、0280-08-20、0290-09-20、0301-10-30、0310-01-30、0311-11-30、0321-12-30、0330-03-30、0340-04-30、0350-05-30、0360-06-30、0370-07-30、0380-08-30、0390-09-30、1001-10-01、1010-01-01、1011-11-01、1020-02-01、1021-12-01、1030-03-01、1040-04-01、1050-05-01、1060-06-01、1070-07-01、1080-08-01、1090-09-01、1101-10-11、1110-01-11、1111-11-11、1120-02-11、1121-12-11、1130-03-11、1140-04-11、1150-05-11、1160-06-11、1170-07-11、1180-08-11、1190-09-11、1201-10-21、1210-01-21、1211-11-21、1220-02-21、1221-12-21、1230-03-21、1240-04-21、1250-05-21、1260-06-21、1270-07-21、1280-08-21、1290-09-21、1301-10-31、1310-01-31、1321-12-31、1330-03-31、1350-05-31、1370-07-31、1380-08-31、2001-10-02、2010-01-02、2011-11-02、2020-02-02、2021-12-02
第三步:讨论分析
第一个对称日为01011010,属东汉孝和皇帝永元十三年,九月发生饥荒,汉和帝下诏减官俸,救济贫民。
今天20211202又是一个对称日,面对这一次次去了又来的疫情,无数党员干部和医护人员冲锋在前,全国劳动人民不断奋斗,建立起强大的内循环。
总说千年一遇,千年一遇,那么到底多长时间我们就会遇到一次对称日呢?
我们可以计算出每一个对称日的上一个对称日,再计算时间间隔:
以上为时间间隔从大到小排列,间隔最长的一次为1380-08-31(明洪武十三年)到2001-10-02,中间621年没有出现过对称日。
第二位的是0390-09-30到1001-10-01,中间611年没有出现过对称日。
其他所有的对称日时间间隔最长为20年,且只有两次,因此,对于大部分历史上的人来说,一辈子总能见到几次对称日的。
我们再按照从小到大的顺序排列。
第一次出现对称日是01011010,因此它没有上一次对称日期。
我们发现时间间隔最短为1.83年,历史上有13次时间间隔为1.83年,也就是669天。咳咳,不是马云的669
那么从101年至今总共是1921年,共有83次,平均23年就会出现一次对称日。
我们把目光放的再长远一些,计算所有四位数以内的年份中对称日的情况:
日期 = CALENDAR (DATE(100,1,1), DATE(9999,12,31))
一共计算得到366个对称日:
最小的时间间隔还是669:
而最大的间隔为711.5年:
也就是说,出生于x290年10月之后的,至死亡日日期在(x+1)001年9月之前的所有人,这辈子都不会遇到对称日。似乎有那么一丁点伤感。
那么我们还会遇到几次对称日呢?
距离我们最近的一次是8.25年也就是3012天后的3030年3月2日,再往后只能是10年才能遇到一次了,大家可以掰着手指头算算还能看见几个。
而大约170年之后的22900922这一天结束后,又要等711年才能出现对称日了,到那时候,恐怕真的要说“千年一遇”了。
第四步:得出结论
1.对称日真的是千年一遇吗?
回答:错误。最短1.83年,最长711.5年遇到一次,平均时间间隔为27年。
2.公元纪年至今,真的是第515个对称日吗?
回答:错误。今天是第83个对称日。
相关文章
- 【技术种草】cdn+轻量服务器+hugo=让博客“云原生”一下
- CLB运维&运营最佳实践 ---访问日志大洞察
- vnc方式登陆服务器
- 轻松学排序算法:眼睛直观感受几种常用排序算法
- 十二个经典的大数据项目
- 为什么使用 CDN 内容分发网络?
- 大数据——大数据默认端口号列表
- Weld 1.1.5.Final,JSR-299 的框架
- JavaFX 2012:彻底开源
- 提升as3程序性能的十大要点
- 通过凸面几何学进行独立于边际的在线多类学习
- 利用行动影响的规律性和部分已知的模型进行离线强化学习
- ModelLight:基于模型的交通信号控制的元强化学习
- 浅谈Visual Source Safe项目分支
- 基于先验知识的递归卡尔曼滤波的代理人联合状态和输入估计
- 结合网络结构和非线性恢复来提高声誉评估的性能
- 最佳实践丨云开发CloudBase多环境管理实践
- TimeVAE:用于生成多变量时间序列的变异自动编码器
- 具有线性阈值激活的神经网络:结构和算法
- 内网渗透之横向移动 -- 从域外向域内进行密码喷洒攻击