1. 程式人生 > >python3訓練題目1:數字組合

python3訓練題目1:數字組合

訓練題目001:數字組合

題目:有四個數字:1、2、3、4,能組成多少個互不相同且無重複數字的三位數?各是多少?

程式分析:遍歷全部可能,把有重複的剃掉。

sum=0
for i in range(1,5):
    for j in range(1,5):
        for k in range(1,5):
            if i!=j and j!=k and i!=k:
               print(i,j,k)
               sum+=1  
print(sum)
sum=0
for i in range(1,5):
    for j in range(1,5):
        for k in range(1,5):
            if i!=j and j!=k and i!=k:
                print("{}{}{}".format(i,j,k))
                sum+=1
print(sum)           
arr=[]
for i in range(1,5):
    for j in range(1,5):
        for k in range(1,5):
            num=100*i+10*j+K
            if i!=j and j!=k and i!=k and num not in arr:
                arr.append(num)
print(arr,len(arr))
import itertools
temp_arr=list(itertools.permutations([1,2,3,4],3)
arr=[100*t[0]+10*t[1]+t[2]for t in temp_arr]
print(arr,len(arr))


import itertools
sum=0
a=[1,2,3,4]
for i in itertools.pemutations(a,3):
    print(i)
    sum+=1
print(sum)

數字1,2,3,...N,組成 M位數字

import itertools
sum=0
N=int(input("輸入數字N:"))
M=int(input("輸入數字M:"))
if N<M:
    print("報錯")
else:
    temp_arr=[i for i in range(1,N+1)]
    for j in itertools.permutations(temp_arr,M):
        print(j)
        sum+=1
print(sum)