题目
”GO王国“在1990年1月1日发布了”三天打鱼两天晒网“计划,那么请编写一段代码,输入年月日,计算输入日期是“打鱼日”还是“晒网日”。
基本方法
解决思路
1.计算输入时间到1990年1月1日共过了多少天(难点)
2.”三天打鱼两天晒网“,则是5天为1个周期,那么将总天数5取余,1、2、3为”打鱼日“,其他为”晒网日“
难点解决
- 计算从输入的年份到1990年过了多少年,平年365,闰年366,一直累加到前一年。
- 计算从输入的月份到1月过了多少月,平年2月28,闰年2月29,一直累加到前一个月。
- 将输入的天数加上,则得出的为到1990年1月1日的总天数
代码
package main
import (
"fmt"
)
//从1990年1月1日起开始发布“三天打鱼两天晒网”,那么输入年月日,计算当前时间是”打鱼日“还是”晒网日“
//判断是否是闰年,并且返回相应年的总天数
func isYear(year int) int {
if (year % 4 == 0 && year % 100 != 0) || year % 400 == 0 {
return 366
}
return 365
}
//计算输入的日期到1990年1月1日共多少天
func subDay(year, month, day int) int {
count := 0
//计算年份差多少天
for i :=