社区讨论

数据过水

B3846[GESP样题 一级] 闰年求和参与者 3已保存回复 4

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
4 条
当前快照
1 份
快照标识符
@lzo9h2z4
此快照首次捕获于
2024/08/10 22:58
2 年前
此快照最后确认于
2024/08/11 09:09
2 年前
查看原帖
我们发现题目中有一句话:不包含起始年份和终止年份
于是我写了这样的一份代码 很显然,这是错的
CPP
#include <cstdio>
int l,r,sum;
bool judge(int y){
    if(!(y%4)&&y%100||!(y%400))return true;
    return false;
}
int main(){
    scanf("%d%d",&l,&r),l++,r--;
    while(l++<r)
        if(judge(l))sum+=l;
    printf("%d",sum);
    return 0;
}
我们可以在while循环的循环体中将if语句换成printf("%d ",l) 观察遍历的年份,发现第l+1l+1年没有遍历到,也就是只遍历了[l+2,r1][l+2,r-1]年,但是AC了,正解应该是将scanf后面的l++删掉
建议增加的hack数据
input:
CPP
2011 2020
output:
CPP
4028
@览遍千秋
@maxmallite

回复

4 条回复,欢迎继续交流。

正在加载回复...