B3846 [GESP样题 一级] 闰年求和
·
题目描述
小明刚刚学习了如何判断平年和闰年,他想知道两个年份之间(不包含起始年份和终止年份)的闰年年份具体数字之和。你能帮帮他吗?
输入格式
输入一行,包含两个整数,分别表示起始年份和终止年份。约定年份在 1 到 2022 之间。
输出格式
输出一行,包含一个整数,表示闰年年份具体数字之和。
输入输出样例
输入 #1
2018 2022
输出 #1
2020
分析
问题分析
需要计算两个给定年份之间的所有闰年(不包含起始和终止年份),并将这些闰年的数字逐位相加得到最终结果。闰年的判断规则如下:
- 能被4整除但不能被100整除的是闰年。
- 能被400整除的也是闰年。
解决步骤
遍历起始年份+1到终止年份-1之间的所有年份,判断是否为闰年。如果是闰年,则将该年份的每一位数字相加,并累加到总和中。
AC代码
#include<bits/stdc++.h>
using namespace std;
int main(){
int start,end;
cin>>start>>end;
int ans=0;
for(int i=start+1;i<=end-1;i++){//从start+1到end-1
if(i%400==0 || (i%4==0 && i%100!=0)){ //判断是否为闰年
ans+=i;
}
}
cout<<ans<<endl;
return 0;
}
更多推荐



所有评论(0)