目录
描述
用 Golang 实现,将四个数进行排列组合。
题目
有 1、2、3、4 这四个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?
题目解决思路
可填在百位、十位、个位的数字都是 1、2、3、4。组成所有的排列后再去掉不满足条件的排列。
代码具体实现
package main
import "fmt"
func main() {
totalCount := 0
/* 三重循环 */
for i := 1; i < 5; i++ {
for j := 1; j < 5; j++ {
for k := 1; k < 5; k++ {
if i != k && i != j && j != k {
totalCount++
fmt.Println("第", totalCount, "方案", "i=", i, "j=", j, "k=", k)
}
}
}
}
fmt.Println("共", totalCount, "种方案")
}
输出:
[Running] go run "c:\work\1_src\5_GO_code\go_lianshou\test_shuzipailiezuhe.go"
第 1 方案 i= 1 j= 2 k= 3
第 2 方案 i= 1 j= 2 k= 4
第 3 方案 i= 1 j= 3 k= 2
第 4 方案 i= 1 j= 3 k= 4
第 5 方案 i= 1 j= 4 k= 2
第 6 方案 i= 1 j= 4 k= 3
第 7 方案 i= 2 j= 1 k= 3
第 8 方案 i= 2 j= 1 k= 4
第 9 方案 i= 2 j= 3 k= 1
第 10 方案 i= 2 j= 3 k= 4
第 11 方案 i= 2 j= 4 k= 1
第 12 方案 i= 2 j= 4 k= 3
第 13 方案 i= 3 j= 1 k= 2
第 14 方案 i= 3 j= 1 k= 4
第 15 方案 i= 3 j= 2 k= 1
第 16 方案 i= 3 j= 2 k= 4
第 17 方案 i= 3 j= 4 k= 1
第 18 方案 i= 3 j= 4 k= 2
第 19 方案 i= 4 j= 1 k= 2
第 20 方案 i= 4 j= 1 k= 3
第 21 方案 i= 4 j= 2 k= 1
第 22 方案 i= 4 j= 2 k= 3
第 23 方案 i= 4 j= 3 k= 1
第 24 方案 i= 4 j= 3 k= 2
共 24 种方案
[Done] exited with code=0 in 1.902 seconds