GO 언어 ---- 낚시 3 일과 그물 2 일 ---- 중국 속담 "낚시 3 일과 그물 2 일"이라는 말이 있는데 누군가 1 월 1 일부터 "이틀 낚시 3 일"을 시작했습니다. 1990 인터넷 노출 ". 이 사람에게 그가 장래에 "낚시"하는지 아니면 "망을 쌓는"것인지 물어보십시오. **

중국 속담은‘3 일만에 낚시를하고 2 일만에 그물을 말리다’라는 속담이 있는데, 1990 년 1 월 1 일부터 누군가가‘3 일만에 낚시를하고 2 일만에 그물을 말리기’를 시작했다. 이 사람에게 그가 장래에 "낚시"하는지 아니면 "망을 쌓는"것인지 물어보십시오. **

package main

import "fmt"


//思路是先计算出输入的时间与1990年1月1日间隔多少天,然后再用天数对5取模来判断

var MONTH = [12]int{
    
    31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}//存储非闰年的每月天数

func IsLeap(year int)  int{
    
        //函数功能--判断是否闰年
	if year%4 == 0 && year%100 != 0 || year%400 == 0{
    
    
		return 366
	}else{
    
    
		return 365
	}
}

func SumDay(year, month, day int) int{
    
    
	sum := 0
	for i:=1990;i < year;i++{
    
       //计算出从1990到year-1年的总天数
		sum += IsLeap(i)
	}
	//再计算year年的天数
	for i:=0;i < month-1;i++{
    
     //计算一月到month-1月的天数
		sum += MONTH[i]
	}
	sum += day   //加上当月的天数
	if month>2 && IsLeap(year) == 364{
    
    
		sum += 1
	}
	return sum
}
func  main()  {
    
    
	var year,month,day int
	fmt.Print("请输入日期:")
	fmt.Scanln(&year, &month, &day)
	n := SumDay(year, month, day)
	ret := n%5
	fmt.Println(n)
	if ret == 4 || ret == 0{
    
    
		fmt.Println("他在晒网")
	}else{
    
    
		fmt.Println("他在打鱼")
	}

}

추천

출처blog.csdn.net/qq_52698632/article/details/113732682