签到

05月06日
尚未签到

共有回帖数 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 回复

共有回帖数 0
  • 回 帖
  • 表情 图片 视频
  • 发表

登录直线网账号

Copyright © 2010~2015 直线网 版权所有,All Rights Reserved.沪ICP备10039589号 意见反馈 | 关于直线 | 版权声明 | 会员须知