题1:波那契数列,使用递归的方式,求出斐波那契数1,1,2,3,5,8,13
package main
import "fmt"
//斐波那契数列,使用递归的方式,求出斐波那契数1,1,2,3,5,8,13
func fbn(n1 int) int {
if(n1==1 || n1==2){
return 1
}else{
return fbn(n1-1)+fbn(n1-2)
}
}
func main(){
fmt.Println("请您输入想输出数的斐波那契数字的所占位置:")
var res int
fmt.Scanln(&res)
re:=fbn(res)
//res =fbn(3)
fmt.Println("re=",re)
//res =fbn(10)
//fmt.Println("res=",res)
}
题2:打印空心金字塔
使用for循环完成下面的案例,请编写一个程序,可以接受一个整数,便是层数
// ,打印金字塔
/*
***
***
***
*/
/*
*
**
***
*/
/*
* 1层 1个* 规律:2 * 层数 -1 空格 2 规律 总层数-当前层
*** 2层 3个* 规律:2 * 层数 -1 空格 1 规律 总层数-当前层
***** 3层 5个* 规律:2 * 层数 -1 空格 0 规律 总层数-当前层
*/
var totalLeavl int =20
//i表示层数
for i :=1;i<=totalLeavl;i++{
//在打印 * 前,先打印空格
for k:=1;k<=totalLeavl-i;k++{
fmt.Print(" ")
}
//j表示每层打印多少*
for j :=1 ; j<=2*i-1 ; j++{
if j==1 || j==2 * i -1 || i == totalLeavl{
fmt.Print("*")
}else{
fmt.Print("*")//这个*在控制是否空心
}
}
fmt.Println()
}
题3:猴子吃桃
猴子吃桃子问题有一堆桃子,猴子第一天吃了其中的一半,/1/并再多吃了一个!以后每天猴子都吃其中的一半,然后再多吃一个。
1/当到第十天时,想再吃时(还没吃),发现只有1个桃子了。问题:最初共多少个桃子?
1)第10天只有一个桃子
package main
import "fmt"
/*猴子吃桃
//题3:猴子吃桃子问题有一堆桃子,猴子第一天吃了其中的一半,/1/并再多吃了一个!以后每天猴子都吃其中的一半,然后再多吃一个。
1/当到第十天时,想再吃时(还没吃),发现只有1个桃子了。问题:最初共多少个桃子?
1)第10天只有一个桃子
2)第9天有几个桃子 = (第10天桃子数量+1)*2
3)规律:第n天的桃子数量 peach(n)=(peach(n+1) +1)*2
*/
func peach(n int )int{
if n >10 ||n<1{
fmt.Println("输入的天数不对")
return 0
}
if n==10{
return 1
}else{
return (peach(n+1)+1)*2
}
}
func main(){
fmt.Println("第1天桃子数量是=",peach(1))
}
题4:打印九九乘法口诀
//i 表示层数
var num int =9
for i := 1; i<=num ; i++{
for j := 1; j <=i ; j++{
fmt.Printf("%v * %v = %v\t",j,i,j*i)
}
fmt.Println()
}