闰年相关问题

闰年问题语雀

闰年

闰年a分为两类: 4 |a ∧ 100 ∤a ∨ 400 | a

约定

C1: 能被4整除
C2: 能被100整除
C3: 能被400整除
C4: 闰年函数F(x) , x是平年时取0,x是闰年时取1
C5: 闰年集F=(C1-C2)∪ C3

问题1:求闰年函数的最小正周期

P0: F1=C1-C2, F2=C3, F=(C1-C2)∪ C3=F1UF2

P1: F(x)=F(x+kT) ⇒ T是F的一个周期

P2:x1∈F1, F(x1)=F(x1+2000)

P3:x2∈F2, F(x2)=F(x2+2000)

P4: 2000是P的一个周期,但不是最小周期

P5: 同理400也是P的一个周期

T1: 400是F的最小正周期 (这个命题是下面推理的目标)

P6: 假设存在 0<t<400是F的最小正周期

P7: 400-t是F的周期, t ≤ 400-t, 100,200,300都不是周期 ,t <200

P8: 若t是平年→400t是平年(矛盾)→t是闰年→ 4 | t ∧25∤t

P9: 200是平年→200-t是平年 | P1

P10: 4|200-t ∧ 100 ∤200-t → 200-t是闰年(与P9矛盾) → 不存在小于400的周期

P11: 平闰的最小正周期是400


问题2:求闰年出现的概率

在 1~400中

P0: |F|=|F1UF2|=|F1|+|F2|-|F1∩F2|=|F1|+|F2|

P1:1~400中 |F2|=1

P2:|F1|=|C1∩C2’|=|C1|-|C2|=[400/4]-4=96

P3:|F|=1+96=97

P4: 闰年的概率为 97/400

问题3:求n个人无同天生日的概率 (n≤365)

约定1

一个人出生于y年,则y年的每一天是他的生日概率相同

约定2

n个人出生日期完全随机,年龄差随机,出生年代也随机

不考虑闰年

不考虑闰年,用球盒模型 (人,日期)→(球,盒)
问题转换为 n个球放到365个盒,求无同盒的概率

P1: 总共有 36 5 n 365^n 365n 种放法
无同盒球的放法
P2: 第1个人有365种放法
P3: 第2个人有364种放法 …
P4:共有 A 365 n A_{365}^{n} A365n无同盒放法
P(无同天生日)= ( A 365 n 36 5 n ) \left ( \frac{A_{365}^{n} }{365^n} \right ) (365nA365n)

考虑闰年

若考虑闰年, 2.29与其他日期有差异,使用更形象的投胎模型 ( 人, 日期)→( 投胎, 公元1~400年的某一天)
并对2.29进行分类讨论。
问题转换为 n个人等概率的投胎到 公元1~400年的某一天(出生年份对400取模),求无同天生日的概率
P1: 400年共有 M=365*400+97=146097 天
P2:将无同天生日的情况按是否存在2.29来划分,然后按条件概率计算
有2.29的 无同天生日 → 存在唯一的一个人是2.29日生日
无2.29的 无同天生日 → 等价于不考虑闰年
P(无同天生日 | 无2.29)= ( A 365 n 36 5 n ) \left ( \frac{A_{365}^{n} }{365^n} \right ) (365nA365n)
P(无同天生日 | 第1个人在第1个2.29)= ( A 365 n − 1 36 5 n − 1 ) \left ( \frac{A_{365}^{n-1} }{365^{n-1}} \right ) (365n1A365n1)
因为有97个闰年 和 n个人,所以

P(无同天生日 | 有2.29)= 97 n ( A 365 n − 1 36 5 n − 1 ) 97n\left ( \frac{A_{365}^{n-1} }{365^{n-1}} \right) 97n(365n1A365n1)

P(无2.29)= ( M − 97 M ) n (\frac{M-97}{M} )^n (MM97)n

P(有2.29)=1-P(无2.29)= 1 − ( M − 97 M ) n 1-(\frac{M-97}{M} )^n 1(MM97)n

P(无同天生日)=P(有2.29)P(无同天生日 | 有2.29)+P(无2.29)P(无同天生日 | 无2.29)

= ( 1 − ( M − 97 M ) n ) ∗ 97 n ( A 365 n − 1 36 5 n − 1 ) + ( M − 97 M ) n ( A 365 n 36 5 n ) (1-(\frac{M-97}{M} )^n)*97n\left ( \frac{A_{365}^{n-1} }{365^{n-1}} \right )+(\frac{M-97}{M} )^n\left ( \frac{A_{365}^{n} }{365^n} \right ) (1(MM97)n)97n(365n1A365n1)+(MM97)n(365nA365n) (其中M=146097)

问题4:求最大连续平年数,和最大连续闰年数

方法1(瞪眼法)

P1: 最大连续平年出现在平年密度最大处
P2: 平年最大密度要绕开4的倍数和400的倍数
P3: 平年最大密度应处于整百附近
P4: 平年最大密度在100,200,300附近
P5: 97103,197203 ,297~303 都是连续7个平年
P6: 最大连续平年数是7

方法2(闰环函数)

环列法是把闰年函数的0,1序列转换为 闰环函数的0,1序列 ,这样能看的更清楚
约定1: 将1~400划分为2类环,1个环中有4年,1个环对应一个4的剩余系
闰环: 4k到4k+3 含有闰年
平环: 100k到100k+3 不含闰年
闰环函数R(x) , x是平环时取0,x是闰环时取1
约定2 : Rk 表示第k个环的值 0或1
方法1的瞪眼法总感觉不适
P1: 问题4= F(1)…F(400) 是一个0和1组成的序列,求0的最大长度
P2:将P1闰年0,1序列转换为 闰环函数值R1,R2… 的0,1序列
0到3年是第一个环,4到7是第2个环,前25个环的闰环函数值都是1
P3: 3连环共有 111,110,101,011 4种, 110中的0指的是第26个环的闰环函数值
P4: 最大连续平年数出现在101中,共7年
P5: 只有闰环的起点是闰年,其他全是平年 → 不存在连续的闰年
P5: 最大连续平年数是7, 最大连续闰年数是1

问题5:任意的阳历节日会出现在任意星期数上

这个问题等价于未来存在周三的国庆节

方法1 (同余法)

P1: 日期x是y节

P2: [97:103] ,7年间的日期x是y节

P3:[97:103], 7年间都是365天

T1:[97:103|, 7年间的日期x的星期数不一样

P4: s,t的日期是x, s,t在97到103年之间, |s-t|< 365*7

P5: s,t星期数一样 → 7 | |s-t| ,366 | |s-t| → 365*7 | |s-t| 与 P4矛盾


P6:97~103, 7年间的日期x的星期数不一样
P7: 97~103, 7年间的日期x每个星期数各出现一次

方法2 (同绕法)

利用同绕的概念能很方便的解决这个问题, 这个问题巧在最大连续平年数正好是7

P1:用步长365去绕7槽电枢
P2:7槽电枢 的 绕法365 与 绕法1 同绕
P3: 绕法365 将均匀分布在每个星期数上

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值