借书的问题如下:小明有6本新书,要借给他的三个朋友看,分别有ABC代替,每人每次只能借1本,则可以有多少种不同的借法?
分析一下就是数学种的排列组合问题,求6个数中取3个不同数的排列组合的总数问题。
下面直接上代码:
########################
if __name__=="__main__":
#A、B、C三位小朋友,5本书,每人每次只能借一本
#用a、b、c分别表示三人所选图书的编号
i = 0 # i表示有效借阅次数
print("A,B,C三人所选书号分别为:")
for a in range(1, 7): #A借书的编号
for b in range(1, 7): #B借书的编号
for c in range(1, 7): #C借书的编号
if a != b and a != c and c != b: #关键算法
print("A:%2d B:%2d C:%2d " %(a, b, c) , end='')
i += 1
if i % 5 == 0:#每行放5组
print() #打印换行
print("一共有%d种有效借阅方法" %i)
########################
执行结果如下:
A,B,C三人所选书号分别为:
A: 1 B: 2 C: 3 A: 1 B: 2 C: 4 A: 1 B: 2 C: 5 A: 1 B: 2 C: 6 A: 1 B: 3 C: 2
A: 1 B: 3 C: 4 A: 1 B: 3 C: 5 A: 1 B: 3 C: 6 A: 1 B: 4 C: 2 A: 1 B: 4 C: 3
A: 1 B: 4 C: 5 A: 1 B: 4 C: 6 A: 1 B: 5 C: 2 A: 1 B: 5 C: 3 A: 1 B: 5 C: 4
A: 1 B: 5 C: 6 A: 1 B: 6 C: 2 A: 1 B: 6 C: 3 A: 1 B: 6 C: 4 A: 1 B: 6 C: 5
A: 2 B: 1 C: 3 A: 2 B: 1 C: 4 A: 2 B: 1 C: 5 A: 2 B: 1 C: 6 A: 2 B: 3 C: 1
A: 2 B: 3 C: 4 A: 2 B: 3 C: 5 A: 2 B: 3 C: 6 A: 2 B: 4 C: 1 A: 2 B: 4 C: 3
A: 2 B: 4 C: 5 A: 2 B: 4 C: 6 A: 2 B: 5 C: 1 A: 2 B: 5 C: 3 A: 2 B: 5 C: 4
A: 2 B: 5 C: 6 A: 2 B: 6 C: 1 A: 2 B: 6 C: 3 A: 2 B: 6 C: 4 A: 2 B: 6 C: 5
A: 3 B: 1 C: 2 A: 3 B: 1 C: 4 A: 3 B: 1 C: 5 A: 3 B: 1 C: 6 A: 3 B: 2 C: 1
A: 3 B: 2 C: 4 A: 3 B: 2 C: 5 A: 3 B: 2 C: 6 A: 3 B: 4 C: 1 A: 3 B: 4 C: 2
A: 3 B: 4 C: 5 A: 3 B: 4 C: 6 A: 3 B: 5 C: 1 A: 3 B: 5 C: 2 A: 3 B: 5 C: 4
A: 3 B: 5 C: 6 A: 3 B: 6 C: 1 A: 3 B: 6 C: 2 A: 3 B: 6 C: 4 A: 3 B: 6 C: 5
A: 4 B: 1 C: 2 A: 4 B: 1 C: 3 A: 4 B: 1 C: 5 A: 4 B: 1 C: 6 A: 4 B: 2 C: 1
A: 4 B: 2 C: 3 A: 4 B: 2 C: 5 A: 4 B: 2 C: 6 A: 4 B: 3 C: 1 A: 4 B: 3 C: 2
A: 4 B: 3 C: 5 A: 4 B: 3 C: 6 A: 4 B: 5 C: 1 A: 4 B: 5 C: 2 A: 4 B: 5 C: 3
A: 4 B: 5 C: 6 A: 4 B: 6 C: 1 A: 4 B: 6 C: 2 A: 4 B: 6 C: 3 A: 4 B: 6 C: 5
A: 5 B: 1 C: 2 A: 5 B: 1 C: 3 A: 5 B: 1 C: 4 A: 5 B: 1 C: 6 A: 5 B: 2 C: 1
A: 5 B: 2 C: 3 A: 5 B: 2 C: 4 A: 5 B: 2 C: 6 A: 5 B: 3 C: 1 A: 5 B: 3 C: 2
A: 5 B: 3 C: 4 A: 5 B: 3 C: 6 A: 5 B: 4 C: 1 A: 5 B: 4 C: 2 A: 5 B: 4 C: 3
A: 5 B: 4 C: 6 A: 5 B: 6 C: 1 A: 5 B: 6 C: 2 A: 5 B: 6 C: 3 A: 5 B: 6 C: 4
A: 6 B: 1 C: 2 A: 6 B: 1 C: 3 A: 6 B: 1 C: 4 A: 6 B: 1 C: 5 A: 6 B: 2 C: 1
A: 6 B: 2 C: 3 A: 6 B: 2 C: 4 A: 6 B: 2 C: 5 A: 6 B: 3 C: 1 A: 6 B: 3 C: 2
A: 6 B: 3 C: 4 A: 6 B: 3 C: 5 A: 6 B: 4 C: 1 A: 6 B: 4 C: 2 A: 6 B: 4 C: 3
A: 6 B: 4 C: 5 A: 6 B: 5 C: 1 A: 6 B: 5 C: 2 A: 6 B: 5 C: 3 A: 6 B: 5 C: 4
一共有120种有效借阅方法
________________END______________
网友评论