2017年12月23日 星期六

a028: P(N,R) (**)

a028: P(N,R) (**)

'''
在數學的排列組合裡,有一個符號叫做 P,它的定義如下:

 P(N,R)=N!/(N-R)!=N*(N-1)*(N-2)*...*(N-R+1)

 現在給你兩個正整數 N、R (其中 N>=R),請你計算出 P(N,R) 的值。

輸入說明:
輸入兩個正整數 N、R (其中 N>=R)。
輸出說明:
請輸出 P(N,R) 的值。

註:所給的測資以及輸出的結果絕對不會超過 int 的範圍。

範例輸入:help

輸入1:
3 1

輸入2:
5 3
範例輸出 :

輸出1:
3

輸出2:
60

'''
def factorial(n):
    if(n<=1):
        return 1
    else:
        return factorial(n-1) * n


print("輸入N, M 兩個整數 以 逗號隔開 > ",end="")
N, M  = map(int,input().split(','))

print("P(N,R) 的值= ",int(factorial(N)/factorial(N-M)))




============ RESTART: F:/Python_APSC/a027-9.py =====================
輸入N, M 兩個整數 以 逗號隔開 > 5,3
P(N,R) 的值=  60
>>> 
============= RESTART: F:/Python_APSC/a027-9.py =====================
輸入N, M 兩個整數 以 逗號隔開 > 5,2
P(N,R) 的值=  20
>>> 

沒有留言:

張貼留言

2024_09 作業3 以Node-Red 為主

 2024_09 作業3  (以Node-Red 為主  Arduino 可能需要配合修改 ) Arduino 可能需要修改的部分 1)mqtt broker  2) 主題Topic (發行 接收) 3) WIFI ssid , password const char br...