黑马程序员技术交流社区

标题: 计算从公元1年开始到公元2012年间所有闰年之和 [打印本页]

作者: 范明正    时间: 2011-8-22 19:03
标题: 计算从公元1年开始到公元2012年间所有闰年之和
4+8+12+…+96+104 +… +396+400+404+…+2008+2012的结果。
提示:四年一闰,百年不闰,400年又闰。
作者: 匿名    时间: 2011-8-22 22:32
其实我一直有一个疑问,为什么百年不闰的。。。明明可以整除4的,而且根据我自己那点科学知识所得知,每年确实会多出四分之一天的时间出来,所以四年才会多出一天。但为什么百年不是呢
作者: 匿名    时间: 2011-8-22 22:47
说说思路,看看对不对,把符合条件的全部扔进一个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
。。。。坑人呢,最后又看到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
标题: 回复 板凳 的帖子
闰年的判断是这样子得吧,(year % 4 == 0 && year % 100 != 0) || year % 400 == 0
还有这样循环是不是更快一点啊 for (int year = 0; year <= 2012; year += 4)

400不是闰年??
作者: 匿名    时间: 2011-8-22 23:08
[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]嗯,对,你的快很多




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2