共有回帖数 0 个
-
判断一个给定的年份是不为闰年,即要判断能否被4整除,还要判断能否被400整除。由此想到,能否预处理下年份,简化判断逻辑!有以下步骤。
第一,对于输入的年份进行预处理。即判断年份能否被100整除,如果可以年份除以100
第二,对于预处理过的年份,检查年份,如果年份能被4整除即为闰年,否则为非闰年!
总结:如果判断逻辑比较复杂,可以对数据进行预处理,以简化逻辑判断!
代码:
if ( 0 == year % 100 )
year /=100;
0 == year % 4 ? "闰年" : "非闰年";
不错的思路,1900先预处理为19,然后判断是否被4整除,易于理解,但是我感觉对于计算机没有效果,并未加快其运行速度。举个例子,对于1999年这种类型(直接就不能被4整除的那种),要判断两次才能结束是否润年的判断,而传统方式,leap=year%4==0&&year%100!=0||year%400==0;这种情况下只需要判断一次就可以了,而类似于这种不能被4整除的情况,占了绝大多数年份,而采用你的思路,无形的加大了这种情况的计算量,实际上还不如传统速度简洁高效
楼主 2016-03-31 08:54 回复
Copyright © 2010~2015 直线网 版权所有,All Rights Reserved.沪ICP备10039589号
意见反馈 |
关于直线 |
版权声明 |
会员须知