所有栏目

100年是闰年吗

已输入 0 字
优质回答
  • 一年的定义是一恒星年, 即地球绕着太阳转一圈,测下来365.2422****(无理数),但为了方便认为用365近似,但是这个误差在长久来看是巨大的

    (请看黑板)假设人类向后发展了10w年(希望不会被外星人灭掉)

    如果没有闰年,

    误差为(365.2422 - 365)* 10w = 24220天

    差了66年多,相当于一个人在2019年,一个人在1953年

    2. 如果设置每4年一个闰年,平均每年有 (365*3 + 366)/ 4 = 365.25天

    误差为 (365.2422 - 365.25)* 10w = -780天

    what? 怎么是负的,好吧,一下子减多了,不过貌似误差好了一些了,

    780天前是什么时候,大概2年前多一点

    3. 这时候要再优化了, 再规定闰年是4的倍数但不是100的倍数,比如2100就人为设置成非闰年

    假设从101-200为一个样本,总共为100年, 其中闰年有24个,则平均每年有

    (24*366+ 76*365)/ 100 = 365.24天

    误差为(365.2422 - 365.24)*10w = 220天

    又变成正的了,误差进一步缩小,也就是每10万年误差不到1年

    4. 能被400整除,同理

    假设从1-400为一个样本,总共400年,其中每一个100年的闰年有24个,则400年有96个,但是人为加了个公元400年,总共有97个闰年

    则平均每年有 (97*366 + 303*365)/ 400 = 365.2425天

    误差为 (365.2422 - 365.2425) * 10w = -30天

    误差更小了,每10万年只差不到一个月

    (黑板演示结束)

    也就是说当前的算法,每10万年,会有30天的误差(其实这个误差已经非常小了,误差率0.00008219%)

    当然,这个算法可以继续优化,比如规定每1000年,每4000年再有一个类似的递归算法,进一步可以把每十万年的误差降低到1天以内。

    之前头晕了,写了一堆单位不对的东西.....

    sorry!

    现在修正了,大家看看有没有别的啥问题了

    2023-10-23 20:00:14
  • 是闰年,历史不容更改。

    2023-10-23 20:00:14
最新问题 全部问题