-2

数値のリスト L が、もう 1 つの数値パラメーターであるthresholdと共に指定されます。問題は、最小の正の整数 k を返すことです。これにより、最初の k 個の反転されたアイテムの合計 : がしきい値よりも大きくなります(または、そのような k が見つからない場合は -1 を返します)。

例:

>>> M = [0.5, 3.5, 2.0, 7.0, 1.0]
>>> overflow(M, 10)
-1
>>> overflow(M, 2.5)
3
>>> overflow(M, 2.2)
2

私はコードを書くのが苦手で、まったく理解していません。

A / A**Aたとえば ( ) を実行して乗法逆数を取得し、それらを加算する必要があることはわかっています。これは、A>M (しきい値) まで継続する必要があります。すべての乗法逆数が M を超えない場合は -1 を返します。次に、加算した数値の量を返します。私はそれをすべてまとめる方法を知りません。

4

1 に答える 1

0
def overflow(L, threshold):
  total = 0
  for i,num in enumerate(L):
    total += 1.0/num
    if total > threshold:
      return i
  return -1
于 2013-10-04T20:46:22.907 に答える