PRIMJERI

ZADATCI

Nova znanja

Novo znanje Ideja
Grupno brojanje po blokovima Ne prolazimo uvijek element po element, nego npr. posebno obradimo jednoznamenkaste, dvoznamenkaste, troznamenkaste brojeve
Faktorski parovi Za N = R * S tražimo sve moguće parove djelitelja
Najbolji faktorski par Među faktorima tražimo par s najmanjom razlikom
Smanjivanje potpune pretrage Ako vrijedi A+B+C=N, biramo samo A i B, a C izračunamo
Maksimiziranje minimuma – maximin Za svakog kandidata pronađemo njegov najlošiji/najbliži slučaj, pa biramo kandidata kod kojeg je taj minimum najveći
Više kriterija pri izboru Ako je glavni kriterij jednak, uspoređujemo drugi, pa eventualno treći kriterij

10 riješenih primjera

Primjer 1 – Koliko znamenki trebamo?

Ormarići su označeni brojevima od 1 do N. Odredi koliko je ukupno znamenki potrebno napisati.

Za N = 125:

n=int(input())
ukupno=0
pocetak=1
znamenki=1
while pocetak<=n:
	kraj=min(n,pocetak*10-1)
	koliko=kraj-pocetak+1
	ukupno+=koliko*znamenki
	pocetak*=10
	znamenki+=1
print(ukupno)

Za ulaz:

125

izlaz je:

267

Primjer 2 – Koji je posljednji broj?

Znamo da je za zapis brojeva od 1 do nekog broja potrošeno ukupno Z znamenki. Odredi posljednji broj.