← 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 loQuale valore restituisce la procedura, e quante volte calcola $f$?