函数题:日期 - 6. 求闰年数
请编写函数,求从公元 1 年开始到指定年份之间的闰年总数。
#### 函数原型
c
int TotalLeapYear(int year);
说明:参数 year 为年数。函数值为从公元 1 年到 year 年的闰年总数。
按照现行历法(格里高利历):四年一闰,百年不闰,四百年再闰。即:年数是 4 的倍数且不是 100 的倍数,或者年数是 400 的倍数,则为闰年,否则为平年。
注:为简化函数设计,作以下限制
- 年数一律为正整数(即不考虑公元前的情况);
- 不考虑历法演变过程(即假定从一开始就一直使用现行的历法)。
#### 裁判程序
c
#include <stdio.h>
int TotalLeapYear(int year);
int main()
{
int y;
scanf("%d", &y);
printf("%d\n", TotalLeapYear(y));
return 0;
}
/* 你提交的代码将被嵌在这里 */
#### 输入样例1
in
100
#### 输出样例1
out
24
#### 输入样例2
in
2000
#### 输出样例2
out
485
---
提示:本题最佳答案直接用公式求解,无须使用循环语句。
答案:若无答案欢迎评论
直接利用公式求解,无须使用循环语句。
#### 函数原型
c
int TotalLeapYear(int year);
说明:参数 year 为年数。函数值为从公元 1 年到 year 年的闰年总数。
按照现行历法(格里高利历):四年一闰,百年不闰,四百年再闰。即:年数是 4 的倍数且不是 100 的倍数,或者年数是 400 的倍数,则为闰年,否则为平年。
注:为简化函数设计,作以下限制
- 年数一律为正整数(即不考虑公元前的情况);
- 不考虑历法演变过程(即假定从一开始就一直使用现行的历法)。
#### 裁判程序
c
#include <stdio.h>
int TotalLeapYear(int year);
int main()
{
int y;
scanf("%d", &y);
printf("%d\n", TotalLeapYear(y));
return 0;
}
/* 你提交的代码将被嵌在这里 */
#### 输入样例1
in
100
#### 输出样例1
out
24
#### 输入样例2
in
2000
#### 输出样例2
out
485
---
提示:本题最佳答案直接用公式求解,无须使用循环语句。
答案:若无答案欢迎评论
直接利用公式求解,无须使用循环语句。