A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

4+8+12+…+96+104 +… +396+400+404+…+2008+2012的结果。
提示:四年一闰,百年不闰,400年又闰。

5 个回复

倒序浏览
黑马网友  发表于 2011-8-22 22:32:58
沙发
其实我一直有一个疑问,为什么百年不闰的。。。明明可以整除4的,而且根据我自己那点科学知识所得知,每年确实会多出四分之一天的时间出来,所以四年才会多出一天。但为什么百年不是呢
回复 使用道具 举报
黑马网友  发表于 2011-8-22 22:47:51
藤椅
说说思路,看看对不对,把符合条件的全部扔进一个Arraylist里面,最后在遍历
fo(x=1;x<=2012;x++){
     if(x%4==0 &&  x%100 !=0) {
       list.add(x);
     }
}

for(int i : list){
   sum += i;
}

不知道对不对。。。

好像这样写更好
int sum = 0;
fo(x=1;x<=2012;x++){
     if(x%4==0 &&  x%100 !=0) {
         sum +=x
     }
}
回复 使用道具 举报
黑马网友  发表于 2011-8-22 22:54:58
板凳
。。。。坑人呢,最后又看到400年又是润年。。。。
int sum = 0;
fo(x=1;x<=2012;x++){
     if(x%4==0 &&  x%100 !=0) {
         sum +=x
     }
}
fo(x=1;x<=2012;x++){
     if(x%400==0)
         sum +=x;
}
回复 使用道具 举报
黑马网友  发表于 2011-8-22 23:05:02
报纸

回复 板凳 的帖子

闰年的判断是这样子得吧,(year % 4 == 0 && year % 100 != 0) || year % 400 == 0
还有这样循环是不是更快一点啊 for (int year = 0; year <= 2012; year += 4)

400不是闰年??
回复 使用道具 举报
黑马网友  发表于 2011-8-22 23:08:52
地板
[quote] 原帖由 [i]黄敏文[/i] 于 2011-08-22 23:05 发表 [url=http://bbs.itheima.com/redirect.jsp?goto=findpost&pid=8099&ptid=1238][img]http://bbs.itheima.com/images/common/back.gif[/img][/url]闰年的判断是这样子得吧,(year % 4 == 0 && year % 100 != 0) || year % 400 == 0
还有这样循环是不是更快一点啊 for (int year = 0; year <= 2012; year += 4)

400不是闰年?? [/quote]嗯,对,你的快很多
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马