1.一對(duì)剛出生的小兔子钳宪,出生后第4個(gè)月起每個(gè)月都生一對(duì)兔子屏歹,等小兔子長(zhǎng)到第四個(gè)月后每個(gè)月又可以生一對(duì)兔子,如果兔子都長(zhǎng)生不死之碗,請(qǐng)問(wèn)每個(gè)月的兔子總數(shù)是多少蝙眶?
2.約梭芬殺人法 把犯人圍成一圈,每次從固定位置開(kāi)始算起褪那,殺掉第7個(gè)人幽纷,直到剩下最后一個(gè)。
//1 兔子問(wèn)題(斐波那契數(shù)列)
func sum(month int) int {
fmt.Println("sum:", month)
if month < 4 {
return 2
} else if month <= 0 {
return 0
}
return sum(month-1) + sum(month-3)
}
//2 約梭芬殺人法
func kill(people []int) []int {
if len(people) == 1 {
return people
}else if len(people) < 7 {
a := 7%len(people)-1
arr1 := append(people[a+1:],people[0:a]...)
return kill(arr1)
}
arr1 := append(people[7:],people[0:6]...)
return kill(arr1)
}
func main() {
//fmt.Println("LLL")
//1
fmt.Println(sum(7))
//2
num := 12
var arr [12]int
for i := 0;i<num;i++{
arr[i] = i+1
}
arr1 := arr[0:num]
fmt.Println(arr)
fmt.Println(kill(arr1))
}