2020年5月3日 星期日

[C_MM250-易] 汽車油耗

[C_MM250-易] 汽車油耗

成績: 0 / 倒扣: 0.8
問題描述 :
一部汽車油箱容量為m公升,假如汽車行駛時每分鐘油耗為n公升,試問剛加滿油的汽車能行駛多少小時。例如,汽車油箱容量為24公升,汽車行駛時每分鐘油耗為0.04公升, 當此輛汽車加滿油後,能行駛多10.0小時。
輸入說明 :
輸入兩個數,用空白分開,依序代表汽車油箱容量及每分鐘油耗量。
例如:
24 0.04
輸出說明 :
輸出汽車行駛的小時數 ( 計算到小數 1 位,以下四捨五入 ) 。
例如:
10.0
範例 :

輸入範例輸出範例
24 0.0410.0
36 0.0610.0
36 0.0512.0

while True:  
    try:  
        m, n = map(float,input().split())  
        print(round(m / n / 60,1))  
    except(EOFError):  
        break

2020年5月2日 星期六

[C_MM249-易] 硬幣付錢方式

[C_MM249-易] 硬幣付錢方式

成績: 0 / 倒扣: 0.8
問題描述 :
小明某一天要去吃麵,已知身上只有 5 元、 10 元、 50 元硬幣各 4 個,假設一碗麵為 n 元,不可以找零錢,則他可以有幾種硬幣組合付錢方式呢 ? 請將所有可能的組合列出,每種組合,請列出 5 元、 10 元、 50 元硬幣各硬幣所需的數量;每種組合 ( 每一列 ) 由大到小排列。若無法付錢時,則輸出 null 。
例如一碗麵為 10 元答案如下 (5 元硬幣數量 , 10 元硬幣數量 , 50 元硬幣數量 ) :
2,0,0
0,1,0
輸入說明 :
輸入 1 整數,代表 1 碗麵的價錢。
例如:
10
輸出說明 :
列出所有可能的組合列出,每種組合。請列出 5 元、 10 元、 50 元硬幣各種硬幣所需的數量,用逗號分隔。每種組合 ( 每一列 ) 由大到小排列。若無法付錢時,則輸出 null 。
例如,輸出為:
2,0,0
0,1,0
範例 :

輸入範例輸出範例
102,0,0
0,1,0
253,1,0
1,2,0
2504,3,4
2,4,4
500null

m = int(input())
result = []
for i in reversed(range(0, 5)):
    for j in reversed(range(0, 5)):
        for k in reversed(range(0, 5)):
            if i*5 + j*10 + k*50 != m:
                continue
            else:
                result.append([i,j,k])
if len(result) == 0:
    print('null')
else:
    for i in range(len(result)):
        strs = ''
        for j in result[i]:
            strs += str(j)+','
        print(strs.strip(','))

[C_MM248-易] 貝氏法則

[C_MM248-易] 貝氏法則

成績: 0 / 倒扣: 0.8
問題描述 :
三個相同的盒子各裝有下列水果
盒子一 : 蘋果 3 個 哈密瓜 2 個 藍莓 3 個
盒子二 : 蘋果 6 個 哈密瓜 5 個 藍莓 5 個
盒子三 : 蘋果 9 個 哈密瓜 8 個 藍莓 7 個
今由任一盒中隨機抽出一水果,已知此抽出的水果為蘋果 , 則其自第三盒抽出的機率為何 ?
P(A) 代表水果從第 3 盒抽出的機率
P(B) 代表抽到 蘋果的機率
P( A ∩ B ) 代表從第 3 盒抽到 蘋果的機率
P(A| B) 代表抽到蘋果的條件下,並從第 3 盒抽出的機率。
已知貝氏法則為 P(A |B) = P( A ∩ B )/P(B)
P(A)= 1/3 = 0.33
P(B) = 1/3 * 3/8 + 1/3 * 6/16 + 1/3 * 9/24= 0.375
P( A ∩ B ) = 1/3 * 9/24 = 0.125
P(A | B) = 0.125/(1/3 * 3/8 + 1/3 * 6/16 + 1/3 * 9/24) = 0.333
計算任意 3 個盒子,每一盒中裝有許多蘋果、哈密瓜及藍莓,今由任一盒中隨機抽出一水果,已知此抽出的水果為蘋果 , 則其自第三盒抽出的機率為何 ?
輸入說明 :
輸入 3 列數字代表第 1 、 2 及 3 個水果盒,每一列數字用逗號分隔,依序代表 蘋果、 哈密瓜及藍莓的個數。
例如:
3,2,3
6,5,5
9,8,7
輸出說明 :
計算「出抽出的水果為蘋果 , 其自第三盒抽出的機率」 ( 取到小數點後 3 位 )
例如,輸出為:
0.333 ( 取到小數點後 3 位 )
範例 :

輸入範例輸出範例
1,2,3
4,5,6
7,8,9
0.333
17,13,4
9,11,6
8,14,13
0.213
4,7,9
6,9,9
9,6,7
0.476

while True:  
    try:  
        x = list(map(int,input().split(',')))  
        y = list(map(int,input().split(',')))  
        z = list(map(int,input().split(',')))  
        PA = 1/3  
        PB = PA*(x[0]/sum(x) + y[0]/sum(y) + z[0]/sum(z))  
        PAAB = PA*(z[0]/sum(z))  
        PAOB = PAAB/PB  
        print('%.3f' % round(PAOB,3))  
    except(EOFError):  
        break

2020年5月1日 星期五

[C_MM247-易] 環狀排列

[C_MM247-易] 環狀排列

成績: 0 / 倒扣: 0.8
問題描述 :
今天是小明的生日,他邀一群朋友去慶生 party ,已知有 個不同的人須圍桌而坐,且每個座位皆視為相同,只考慮每個人的相對位置關係,共有幾種座法 ?
假設 n = 3 人
則有 2 種座法
第一種 :  、 、  ( 視為同一種 )
第二種 : 、  、  ( 視為同一種 )
n 個人有 n!/種坐法
寫一程式計算輸入 個人,求共有幾種坐法 ? 若輸入是小於 0 的整數,其坐法為 0 種坐法。
輸入說明 :
輸入整數 n , n 可以是小於 0 的整數。
例如:
5
輸出說明 :
輸出共有 幾種坐法 ( 若輸入是小於 0 的整數,其坐法為 0 種坐法 ) :
例如
24
範例 :

輸入範例輸出範例
524
7720
-100

while True:  
    try:  
        num = int(input())  
        result = 1  
        if num > 0:  
            for i in range(1, num):  
                result *= i  
            print(result)  
        else:  
            print('0')  
    except(EOFError):  
        break