求助
  • 板块学术版
  • 楼主AcxxMz
  • 当前回复6
  • 已保存回复6
  • 发布时间2022/12/25 20:06
  • 上次更新2023/10/24 06:37:35
查看原帖
求助
492190
AcxxMz楼主2022/12/25 20:06

世纪闰年

题目背景

闰年是为了弥补因人为历法规定造成的年度天数与地球实际公转周期的时间差而设立的。

我们已经做过一道闰年的题了。

题目描述

众所周知,年份分为闰年和平年。 闰年的判断依据是:能被4整除但不能被100整除,或者能被400整除。其中能被400整除的年份,不仅是闰年,还被称为“世纪闰年”。

现在请你计算出,从某指定年份至今,一共出现了多少个闰年,又有多少个世纪闰年。

如果是世纪闰年,还请你输出哪些年份是世纪闰年。

输入格式

输入数据仅一个整数,表示起始年份。

注意:如果是公元前,会以“-年份”表示,比如公元前221年秦灭六国,会输入-221

输出格式

输出数据有两行,第一行为两个空格隔开的整数,表示从起始年份至今,出现了多少个闰年,以及多少个世纪闰年。

输出第二行,为世纪闰年的年份,如果有多个世纪闰年,多个答案之间以空格隔开;如果没有世纪闰年,则第二行无需输出。

样例 #1

样例输入 #1

1949

样例输出 #1

18 1
2000

提示

1949年至今,出现了18个闰年,1个世纪闰年

世纪润年是2000年

#include<bits/stdc++.h>
using namespace std;
int main()
{
    int y,suma=0,sumb=0,ans=0;
	cin>>y;
    for(int i=y;i<=2022;i++)
    {
	    if(i%400==0||i%4==0&&i%100!=0)
	    	suma++;
        if(i%400==0)
        {
	    	sumb++;
            ans=i;
        }
	}
    cout<<suma<<" "<<sumb<<endl<<ans;
	return 0;
}
2022/12/25 20:06
加载中...