20211202 这天是一个特别又美好的日子,世界完全对称日

前几天朋友圈被“世界完全对称日”刷屏了——这个节日是指公历纪年日期中数字左右完全对称的日期。

这样的对称日,时间间隔并不固定,最近的四次分别是2010年1月2日(20100102)、2010年1月2日(20100102)、2011年11月2日(20111102)和2021年2月2日(20200202);但是再往前的一次居然要追溯到1380年8月31日,也就是明朝洪武十三年;还有之后的近几十年时间里,每十年都会有一个对称日。

出于好奇也为验证这些结论是否正确,我来写段代码验证一下结论;顺便也计算一下每个世纪有多少个对称日,以及对称日总数。根据定义对称日只能是8位数,所以只要在1000.1.1~9999.12.31之间寻找。代码如下:

输出结果:

10011001    10100101    10111101    10200201    10211201

10300301    10400401    10500501    10600601    10700701

10800801    10900901    

1000-1100,Count: 12

11011011    11100111    11111111    11200211    11211211

11300311    11400411    11500511    11600611    11700711

11800811    11900911    

1100-1200,Count: 12

12011021    12100121    12111121    12200221    12211221

12300321    12400421    12500521    12600621    12700721

12800821    12900921    

1200-1300,Count: 12

13011031    13100131    13211231    13300331    13500531

13700731    13800831    

1300-1400,Count: 7

1400-1500,Count: 0

1500-1600,Count: 0

1600-1700,Count: 0

1700-1800,Count: 0

1800-1900,Count: 0

1900-2000,Count: 0

20011002    20100102    20111102    20200202    20211202

20300302    20400402    20500502    20600602    20700702

20800802    20900902    

2000-2100,Count: 12

21011012    21100112    21111112    21200212    21211212

21300312    21400412    21500512    21600612    21700712

21800812    21900912    

2100-2200,Count: 12

22011022    22100122    22111122    22200222    22211222

22300322    22400422    22500522    22600622    22700722

22800822    22900922    

2200-2300,Count: 12

2300-2400,Count: 0

2400-2500,Count: 0

2500-2600,Count: 0

2600-2700,Count: 0

2700-2800,Count: 0

2800-2900,Count: 0

2900-3000,Count: 0

30011003    30100103    30111103    30200203    30211203

30300303    30400403    30500503    30600603    30700703

30800803    30900903    

3000-3100,Count: 12

31011013    31100113    31111113    31200213    31211213

31300313    31400413    31500513    31600613    31700713

31800813    31900913    

3100-3200,Count: 12

32011023    32100123    32111123    32200223    32211223

32300323    32400423    32500523    32600623    32700723

32800823    32900923    

3200-3300,Count: 12

3300-3400,Count: 0

3400-3500,Count: 0

3500-3600,Count: 0

3600-3700,Count: 0

3700-3800,Count: 0

3800-3900,Count: 0

3900-4000,Count: 0

40011004    40100104    40111104    40200204    40211204

40300304    40400404    40500504    40600604    40700704

40800804    40900904    

4000-4100,Count: 12

41011014    41100114    41111114    41200214    41211214

41300314    41400414    41500514    41600614    41700714

41800814    41900914    

4100-4200,Count: 12

42011024    42100124    42111124    42200224    42211224

42300324    42400424    42500524    42600624    42700724

42800824    42900924    

4200-4300,Count: 12

4300-4400,Count: 0

4400-4500,Count: 0

4500-4600,Count: 0

4600-4700,Count: 0

4700-4800,Count: 0

4800-4900,Count: 0

4900-5000,Count: 0

50011005    50100105    50111105    50200205    50211205

50300305    50400405    50500505    50600605    50700705

50800805    50900905    

5000-5100,Count: 12

51011015    51100115    51111115    51200215    51211215

51300315    51400415    51500515    51600615    51700715

51800815    51900915    

5100-5200,Count: 12

52011025    52100125    52111125    52200225    52211225

52300325    52400425    52500525    52600625    52700725

52800825    52900925    

5200-5300,Count: 12

5300-5400,Count: 0

5400-5500,Count: 0

5500-5600,Count: 0

5600-5700,Count: 0

5700-5800,Count: 0

5800-5900,Count: 0

5900-6000,Count: 0

60011006    60100106    60111106    60200206    60211206

60300306    60400406    60500506    60600606    60700706

60800806    60900906    

6000-6100,Count: 12

61011016    61100116    61111116    61200216    61211216

61300316    61400416    61500516    61600616    61700716

61800816    61900916    

6100-6200,Count: 12

62011026    62100126    62111126    62200226    62211226

62300326    62400426    62500526    62600626    62700726

62800826    62900926    

6200-6300,Count: 12

6300-6400,Count: 0

6400-6500,Count: 0

6500-6600,Count: 0

6600-6700,Count: 0

6700-6800,Count: 0

6800-6900,Count: 0

6900-7000,Count: 0

70011007    70100107    70111107    70200207    70211207

70300307    70400407    70500507    70600607    70700707

70800807    70900907    

7000-7100,Count: 12

71011017    71100117    71111117    71200217    71211217

71300317    71400417    71500517    71600617    71700717

71800817    71900917    

7100-7200,Count: 12

72011027    72100127    72111127    72200227    72211227

72300327    72400427    72500527    72600627    72700727

72800827    72900927    

7200-7300,Count: 12

7300-7400,Count: 0

7400-7500,Count: 0

7500-7600,Count: 0

7600-7700,Count: 0

7700-7800,Count: 0

7800-7900,Count: 0

7900-8000,Count: 0

80011008    80100108    80111108    80200208    80211208

80300308    80400408    80500508    80600608    80700708

80800808    80900908    

8000-8100,Count: 12

81011018    81100118    81111118    81200218    81211218

81300318    81400418    81500518    81600618    81700718

81800818    81900918    

8100-8200,Count: 12

82011028    82100128    82111128    82200228    82211228

82300328    82400428    82500528    82600628    82700728

82800828    82900928    

8200-8300,Count: 12

8300-8400,Count: 0

8400-8500,Count: 0

8500-8600,Count: 0

8600-8700,Count: 0

8700-8800,Count: 0

8800-8900,Count: 0

8900-9000,Count: 0

90011009    90100109    90111109    90200209    90211209

90300309    90400409    90500509    90600609    90700709

90800809    90900909    

9000-9100,Count: 12

91011019    91100119    91111119    91200219    91211219

91300319    91400419    91500519    91600619    91700719

91800819    91900919    

9100-9200,Count: 12

92011029    92100129    92111129    92200229    92200229

92200229    92211229    92300329    92400429    92500529

92600629    92700729    92800829    92900929    

9200-9300,Count: 14

9300-9400,Count: 0

9400-9500,Count: 0

9500-9600,Count: 0

9600-9700,Count: 0

9700-9800,Count: 0

9800-9900,Count: 0

9900-10000,Count: 0

Total: 333

由计算结果可知,之前讲的结论都是正确的;得出新结论有:

1 .有公元纪年以来,前20个世纪只有43个;

2. 从21世纪开始,每100年都有12个;

3. 9200-9300年,python程序重复计算9220.02.29了2次(14-2=2)。

所以,“完全对称日”总共有:43+12x24=331。

程序的执行结果是333个,错误的原因是9220.02.29重复计算了2次,后一个“92200229”实际上是9220.02.30,9220.02.31不存在的日子,不知道是不是python的datetime中转换引起的bug。

以上就是本文的全部内容了,通过灵活运用编程思维编写代码可以解答出很多看似疑难的复杂计算问题,想要学习更多编程知识可以观看教学视频系统地学习掌握。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 202,905评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,140评论 2 379
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 149,791评论 0 335
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,483评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,476评论 5 364
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,516评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,905评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,560评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,778评论 1 296
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,557评论 2 319
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,635评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,338评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,925评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,898评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,142评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,818评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,347评论 2 342

推荐阅读更多精彩内容