表示式求值(2019網易程式設計題)

2021-08-23 14:35:23 字數 1030 閱讀 1383

今天上課,老師教了小易怎麼計算加法和乘法,乘法的優先順序大於加法,但是如果乙個運算加了括號,那麼它的優先順序是最高的。例如: 1 2 3 4

1+2*3=7 1*(2+3)=5 1*2*3=6 (1+2)*3=9 現在小易希望你幫他計算給定3個數a,b,c,在它們中間新增」+」,

「*」, 「(「, 「)」符號,能夠獲得的最大值。

輸入描述:

一行三個數a,b,c (1

<= a, b, c <= 10)

輸出描述:

能夠獲得的最大值

輸入例子1:12

3輸出例子1:

9

分析:

題目要求最大值,首先想到的是動態規劃。

a = map(int, raw_input().split())

defsolve

(l, r):

if l == r:

return a[l]

ans = 0

for i in range(l, r):

lans = solve(l, i)

rans = solve(i+1, r)

ans = max(ans, lans+rans)

ans = man(ans, lans*rans)

return ans

print(solve(0,2))

還有一種暴力解法,因為只有3個數字,所以可以列舉出所有的可能情況,然後求最大。

a = map(int, raw_input().split())

defsolve

(i, j, k):

ans1 = (i+j)+k

ans2 = (i*j)+k

ans3 = (i*j)*k

ans4 = i+(j*k)

print(max(ans1,ans2,ans3,ans4)

solve(a[0], a[1], a[2])

網易測評題 表示式求值

今天上課,老師教了小易怎麼計算加法和乘法,乘法的優先順序大於加法,但是如果乙個運算加了括號,那麼它的優先順序是最高的。例如 12 341 23 7 1 2 3 5 123 6 1 2 3 9 現在小易希望你幫他計算給定3個數a,b,c,在它們中間新增 符號,能夠獲得的最大值。輸入描述 一行三個數a,...

2019網易實習程式設計題筆試

牛牛總是睡過頭,所以他定了很多鬧鐘,只有在鬧鐘響的時候他才會醒過來並且決定起不起床。從他起床算起他需要x分鐘到達教室,上課時間為當天的a時b分,請問他最晚可以什麼時間起床 輸入描述 每個輸入包含乙個測試用例。每個測試用例的第一行包含乙個正整數,表示鬧鐘的數量n n 100 接下來的n行每行包含兩個整...

006網易 表示式求值

問題描述 今天上課,老師教了小易怎麼計算加法和乘法,乘法的優先順序大於加法,但是如果乙個運算加了括號,那麼它的優先順序是最高的。例如 1 23 7 1 2 3 5 123 6 1 2 3 9 現在小易希望你幫他計算給定3個數a,b,c,在它們中間新增 符號,能夠獲得的最大值。輸入描述 一行三個數a,...