判斷某年是否為閏年

2021-06-29 04:52:29 字數 538 閱讀 9860

設某年為year.

演算法思想:先判斷year是否能被4整除,如不能,則year一定不是閏年。如year能被4整除,在判斷year是否能被100整除,如不能被100整除,一定是閏年。如果能被100整除,再次判斷是否能被400整除,如果能被400整除,則是閏年;否則不是閏年。

1、產生閏年原因:地球繞太陽執行週期為365天5小時48分46秒(合365.24219天)即一回歸年(tropical year)。公曆的平年只有365日,比回歸年短約0.2422 日,所餘下的時間約為四年累計一天,故四年於2月加1天,使當年的歷年長度為366日,這一年就為閏年。

2、但是,上面演算法又有了乙個問題。就是0.2422*4=0.9688,比一天還差0.0322天,每4年差0.0322天不算多,但每400年就會差了約3天。即是說,假如每4年乙個閏年,那麼每400年就會有100個閏年,然後會多算了3天。

所以,就規定了每四百年中要減少三個閏年。公曆年份是整百數的,必須是400的倍數的才是閏年,不是400的倍數的,雖然是100的倍數,也是平年。

400~799中 這四百年中500,600,700不是閏年

C 小練習(判斷某年是否為閏年)

程式頭部注釋開始 程式的版權和版本宣告部分 檔名稱 作 者 臧鵬 完成日期 2012 年 9月 16日 版 本 號 001 對任務及求解方法的描述部分 輸入描述 問題描述 輸入乙個年份,判斷是否潤年 被4整除,且不被100整除,或者被400整除 程式輸出 程式頭部的注釋結束 using system...

mysql判斷是否為閏年

delimiter drop function if exists f is leay year create function f is leay year p year bigint returns int 11 begin declare v year int 0 不是閏年,1 是閏年 dec...

測試判斷是否為閏年

提示使用者輸入年份後測試判斷是否為閏年 bin bash 能被 4 整除並且並 100 整除的年是閏年 能被 400 整除的年也是閏年 read p 請輸入乙個年份 yearif year then echo 沒有輸入年份 exit fi 使用正則測試變數 year 中是否包含大小寫字母if yea...