判断闰年的算法

判断闰年的算法当我们遇到这个问题时 大家都知道该怎么计算 那就是所谓的 四年一闰 百年不闰 四百年再闰 根据这个写出的程序的核心算法就是 if n 4 0 amp amp n 100 0 n 400 0 但是到底是为什么要这么算呢 本来按照我自己的理解 好像只要是 4 的倍数就应该是闰年 所以对这个算法一直没有深入的理解 一直不知道它的原理 所以就自己搜了一下资料 了解了一下

当我们遇到这个问题时,大家都知道该怎么计算,那就是所谓的:四年一闰,百年不闰,四百年再闰。

根据这个写出的程序的核心算法就是:

if((n%4 == 0 && n%100 != 0) || n %400 == 0)

{}

但是到底是为什么要这么算呢,本来按照我自己的理解,好像只要是4的倍数就应该是闰年,所以对这个算法一直没有深入的理解,一直不知道它的原理,所以就自己搜了一下资料,了解了一下,终于弄明白了;

关于公历闰年是这样规定的:地球绕太阳公转一周叫做一回归年,一回归年长365日5时48分46秒。因此,公历规定有平年和闰年,平年一年有365日,比回归年短0.2422日,四年共短0.9688日,故每四年增加一日,这一年有366日,就是闰年。但四年增加一日比四个回归年又多0.0312日,400年后将多3.12日,故在400年中少设3个闰年,也就是在400年中只设97个闰年,这样公历年的平均长度与回归年就相近似了。由此规定:年份是整百数的必须是400的倍数才是闰年,例如1900年、2100年就不是闰年。

这就是我们经常听到的闰年判断方法的由来了:即四年一闰,百年不闰,四百年再闰。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/229649.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月16日 下午4:13
下一篇 2026年3月16日 下午4:13


相关推荐

  • 什么是Git?Gitlab和Github区别

    什么是Git?Gitlab和Github区别一 什么是 Gitgit 是一个分布式版本控制软件 最初由林纳斯 托瓦兹创作 于 2005 年以 GPL 发布 最初目的是为更好地管理 Linux 内核开发而设计 应注意的是 这与 GNUInteracti 有所不同 git 最初的开发动力来自于 BitKeeper 和 Monotone git 最初的开发动力来自于 BitKeeper 和 Monotone git 最初只

    2026年3月19日
    2
  • stripslashes 函数 应用

    stripslashes 函数 应用function nbsp stripslashes deep value nbsp nbsp nbsp nbsp value nbsp nbsp is array value nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp array map stripslashes deep nbsp value nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp stripslashes value nbsp nbsp nbsp nbsp return nbsp value nbsp E

    2026年3月26日
    2
  • 注册境外邮箱有哪些_腾讯会员邮箱登录

    注册境外邮箱有哪些_腾讯会员邮箱登录TOMVIP邮箱可在客户端绑定,支持多个终端邮件同步。163VIP邮箱超大容量、邮件群发效果好、微信邮件实时提醒,企业版邮箱也可以使用误删恢复功能。

    2026年2月23日
    5
  • python爬虫的4个实例

    python爬虫的4个实例文章目录1、京东商品页面的爬取2、亚马逊商品页面的爬取3、百度、360搜索关键字提交1、京东商品页面的爬取爬虫具体流程可以参照前一篇博客:https://blog.csdn.net/weixin_42515907/article/details/87932185importrequestsurl="https://item.jd.com/3112072.html"try:…

    2022年5月7日
    43
  • 编程中变量命名方法:驼峰命名法?

    编程中变量命名方法:驼峰命名法?nbsp nbsp nbsp nbsp 前几日在浏览关于 python 的博客时 无意中看到了驼峰命名法 百度后顿时恍然大悟 了结了自己的一桩心病 以前一直有疑问别人为什么这么命名 他们的理论依据是什么 nbsp nbsp nbsp nbsp 骆驼式命名法就是当变量名或函数名是由一个或多个单词连结在一起 而构成的唯一识别字时 第一个单词以小写字母开始 第二个单词的首字母大写或每一个单词的首字母都采用大写字母 例如 myFirstName myLas

    2026年1月22日
    2
  • css伪元素实现下划线

    css伪元素实现下划线前言 css 伪元素实现下划线效果 用一个 border bottom 伪元素实现双重下划线效果效果图 实现代码 titleT position relative font size 28px width 112px height 44px line height 40px text align center border bottom 2pxsolid 5A8

    2026年3月19日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号