## Obvezni del

Ladje potrebujejo gorivo. Količina goriva je odvisna od teže tovora. V navodilih za uporabo piše takole: težo tovora celoštevilsko delimo s 3 (torej: delimo s 3, a zaokroženo navzdol) in odštejemo 2. To ponavljamo, dokler ne dobimo števila, ki je manjše ali enako 0. Za prevoz potrebujemo toliko ton goriva, kolikor korakov je bilo potrebnih.

Za primer vzemimo, da je teža tovora 756 ton.

    756 / 3 - 2 = 250
    250 / 3 - 2 = 81
    81 / 3 - 2 = 25
    25 / 3 - 2 = 6
    6 / 3 - 2 = 0

Ker smo za to, da smo prišli do 0 (ali manj) potrebovali pet korakov, potrebujemo 5 ton goriva.

Napiši program, ki mu vnesemo maso tovora in izpiše količino goriva. Če vnesemo 756, izpiše 5. Če vnesemo 100756, izpiše 10.

### Rešitev

Potrebovali bomo zanko, ki bo tekla, dokler masa ne pade na 0 (`while masa > 0`). V vsakem koraku deli maso (celoštevilsko! `//`!) s 3 in odšteje 2. Pa korake šteje, da lahko na koncu izpiše, koliko jih je bilo.

    masa = int(input("Masa: "))

    gorivo = 0
    while masa >= 0:
        masa = masa // 3 - 2
        gorivo += 1
    print(gorivo)

    Masa: 100756
    10

## Dodatna naloga

V resnici smo navodila brali čisto narobe. (Ni čudno: ladjo smo kupili na Ali Expressu za $35 (s pošiljanjem zastonj) in angleški prevod navodil je bil enaka katastrofa kot običajno.) Dejansko gre takole: za 756 ton tovora, potrebujemo 756 / 3 - 2 = 250 ton goriva. Problem pa je v tem, da je potrebno tudi to gorivo voziti. Za prevoz teh 250 ton goriva potrebujemo še 250 / 3 - 2 = 81 ton goriva. In tako naprej. Količina potrebnega goriva je torej vsota vseh gornjih števil: 250 + 81 + 25 + 6 = 362 ton goriva.

Dopolni program, da bo poleg številke iz obveznega dela izpisal tudi številko izračunano po tem receptu. Če vnesemo 756 izpiše 5 (tako kot prej) in nato 362. Če vnesemo 100756 izpiše 10 (tako kot prej) in nato 50346.

Opombi: ladja ima slab izkoristek, vem. (Kaj, točno, smo pa pričakovali od ladje z Ali Expressa?) In še: teh 756 ton goriva ne vozimo celo pot; ko gorivo kurimo, je ladja vedno lažja. Tudi to bi lahko upoštevali, vendar najbrž nočete, da vam preveč zapletem nalogo. :)

### Rešitev

Najpreprosteje bi bilo tako:

    masa = 100756  # Da ne bo potrebno vedno znova tipkati v `input`

    gorivo = 0
    while masa > 0:
        masa = masa // 3 - 2
        gorivo += masa
    print(gorivo)

    50344

Vendar to ne dela pravilno, ker je lahko masa v zadnjem koraku tudi negativna. Da je ne bi prištevali, dodamo pogoj:

    masa = 100756  # Da ne bo potrebno vedno znova tipkati v `input`

    gorivo = 0
    while masa > 0:
        masa = masa // 3 - 2
        if masa > 0:
            gorivo += masa
    print(gorivo)

    50346

Tipičen trik, ki bi ga uporabili, da se temu izognemo, je funkcija `max`: podamo ji dve števili in vrne večjega. (Lahko ji podamo tudi seznam in vrne največji element seznama, vendar seznamov še ne poznamo.)

    masa = 100756  # Da ne bo potrebno vedno znova tipkati v `input`

    gorivo = 0
    while masa > 0:
        masa = masa // 3 - 2
        gorivo += max(0, masa)
    print(gorivo)

    50346

Če je masa pozitivna, bo `max(0,