Python趣味案例之不重複的三位數
一、問題描述
0~9組成一個三位數,並且這三位數中沒有相等的數字,一共有多少種組合方法?
二、思路
利用0~9組成沒有重複數字的三位數
百位組成 1~9
十位組成 0~9
個位組成 0~9
利用循環窮舉百位、十位、個位的數字構成,只有三個數不相同的時候才生成不重複的數字
三、代碼
方法一
def count(a = 10,b = 10,c = 10): num = 0 # 初始化組合方法 for a1 in range(1,a): # 百位構成1~10 for b1 in range(0,b): # 十位構成0~10 for c1 in range(0,c): # 個位構成0~10 if a1 != b1 and a1 != c1 and b1 != c1: # 當三個數不相等時,組合方法+1 num += 1 print(num) count() # 648 一共648種組合方法
方法二
def count1(a = 10,b = 10,c = 10): num = 0 for a1 in range(1,a): for b1 in range(0,b): if a1 == b1: # 如果a1 == b1,則跳過該次循環 continue for c1 in range(0,c): if a1 != c1 and b1 != c1: # a1 != c1 and b1 != c1時,組合方法+1 num += 1 print(num) count1() # 648 一共648種組合方法