Vai al contenuto principale
← OlimpiApp Facile

Informatica · Ricerca

Ricerca binaria su una somma crescente

Sia $f(n) = 1 + 2 + \dots + n$. Per trovare il più piccolo intero $n$ fra 1 e 64 con $f(n) \ge 1000$ si usa la procedura seguente.

lo ← 1
hi ← 64
mentre lo < hi:
    mid ← (lo + hi) div 2
    se f(mid) ≥ 1000:
        hi ← mid
    altrimenti:
        lo ← mid + 1
restituisci lo

Quale valore restituisce la procedura, e quante volte calcola $f$?