题解 | #判断闰年#
判断闰年
https://www.nowcoder.com/practice/a7bcbe3cb86f435d9617dfdd20a16714
#include<stdio.h> int main() { int n;//给年份定义整型为n scanf("%d",&n);//输入年份 if(n%4==0&&n%100!=0||n%400==0)//判断闰年条件,能被4整除但不能被100整除,或者能被400整除 //2100年就不是闰年,因为它能被100整除 { printf("yes"); } else { printf("no"); } return 0; }
科普:
什么叫一年?
地球绕太阳一圈的时间
实际一年时间约为365.2422天,但我们统一规定一年365天,少了约0.2422天,那每年差约0.2422天,那四年就会差0.9688天,如果不管,以后的月份所对应的季节气候会和现在很不一样,比如现在的2,3月应该是春天,但因为忽略误差很多年,将来的2,3月实际上已是6,7月夏季,就要改共识,很麻烦
因此,有了闰年,每四年把那0.9688天近似为1天,加进来于是就有每四年一个闰年
但加了一天,实际多加了1-0.9688=0.0312天,日积月累,四百年的时间里,每四年出一个闰年,多加0.0312天,四百年里有100个闰年,多加了3.12天
那得想个办法,把这多加的给减去,刚好,四百年里,0年,100年,200年,300年中,100年,200年,300年本应该像其它闰年那样加1天,这回不加了,那不就把多的3.12天分三次给抵消了
于是,闰年的判断条件就是能被4整除但不被100整除或能被400整除