go函数练习

求n的阶乘。至少使用递归函数完成一次。

package main

import "fmt"

func fib(n int) int {
	if n < 0 {
		panic("n is negative")
	} else if n == 0 {
		return 1
	}
	return n * fib(n-1)
}
func main() {
	for i := 1; i < 10; i++ {

		fmt.Println(fib(i))
	}

}

package main

import "fmt"

func fib(n int) int {
	if n < 0 {
		panic("n is negative")
	} else if n == 0 {
		return 1
	}
	a := 1
	for i := 1; i <= n; i++ {
		a *= i
	}
	return a
}
func main() {
	for i := 1; i < 10; i++ {

		fmt.Println(fib(i))
	}

}

编写一个函数,接受一个参数n,n为正整数。要求数字必须对齐

上三角
						 1
					   2 1
				     3 2 1
              	   4 3 2 1
                 5 4 3 2 1
               6 5 4 3 2 1
             7 6 5 4 3 2 1
           8 7 6 5 4 3 2 1
		 9 8 7 6 5 4 3 2 1
	  10 9 8 7 6 5 4 3 2 1
   11 10 9 8 7 6 5 4 3 2 1
12 11 10 9 8 7 6 5 4 3 2 1
package main

import "fmt"

func upperTriangula(n int) {
	lastline := ""
	for i := 1; i <= n; i++ {
		lastline += fmt.Sprintf("%d ", i)
	}

	width := len(lastline)
	for i := 1; i <= n; i++ {
		line := ""
		for j := i; j >= 1; j-- {
			line += fmt.Sprintf("%d", j) + " "
		}
		fmt.Printf("%[2]*[1]s\n", line, width)

	}
}

func main() {

	upperTriangula(12)
}
                         1 
                       2 1 
                     3 2 1 
                   4 3 2 1 
                 5 4 3 2 1 
               6 5 4 3 2 1 
             7 6 5 4 3 2 1 
           8 7 6 5 4 3 2 1 
         9 8 7 6 5 4 3 2 1 
      10 9 8 7 6 5 4 3 2 1 
   11 10 9 8 7 6 5 4 3 2 1 
12 11 10 9 8 7 6 5 4 3 2 1 

你可能感兴趣的:(go,golang,xcode,开发语言)