小演算法題 4

2021-09-01 04:32:28 字數 541 閱讀 2605

#在黑板上寫了n個正整數組成的乙個數列,進行如下操作: 每次擦去其中的兩個數a和b,然後在數列中加入乙個數a×b+1,

#如此下去直至黑板上 剩下乙個數,在所有按這種操作方式最後得到的數中,最大的為max,最小的為min, 則該數列的極差定義為m=max-min。

#請你程式設計,對於給定的數列,計算極差。

# example: input 1 2 3 output 2

# 思路:每次取最大兩個得到最小值,每次取最小兩個得到最大值

a=[1,2,3]

def max(a):

a.sort()

while len(a)>1:

#print a

a.sort()

return a

def min(a):

a.sort()

while len(a)>1:

#print a

a.sort()

return a

print max(a[:]),'\n',min(a[:])

演算法基礎題(4)

程式13 題目 乙個整數,它加上100後是乙個完全平方數,再加上168又是乙個完全平方數,請問該數是多少?1.程式分析 在10萬以內判斷,先將該數加上100後再開方,再將該數加上268後再開方,如果開方後的結果滿足如下條件,即是結果。程式14 題目 輸入某年某月某日,判斷這一天是這一年的第幾天?1....

刷題演算法小技巧

1.大數取餘 對於較大數快速取餘 引數 char s 為儲存大數的陣列 modnumber 為mod long long modnumber char s,int modnumber return sum 2.快速冪 極大數 取餘 對於較大數快速取餘 引數 a的b次方 對 c 取餘 long lon...

演算法程式設計題小技巧

當題目中涉及到圓 手鍊等迴圈的,可以通過陣列的移動,乙個迴圈遍歷所有的可能。for var i 0 i len i 當題目求乙個滿足條件的字串時,可以利用乙個字串串長度作為迴圈條件,內部一層迴圈可以利用起始位置做迴圈,結束位置利用起始和長度計算 for var k 3 k len k 當明顯題目要求...