platidla = [1,2,5,10,20,50,100,200,500,1000,2000,5000]
suma = 99
for bank in reversed(platidla): #zacneme najvyssou bankovkou
while bank <= suma: #plat bankovkou, kym sa da
suma -= bank
print(bank)
platidla = [3**i for i in range(10)] #mocniny trojky
suma = 99
for bank in reversed(platidla): #zacneme najvyssou bankovkou
while bank <= suma: #plat bankovkou, kym sa da
suma -= bank
print(bank)
platidla = [1,2,5,10,20,50,100,200,500,1000,2000,4700,5000]
suma = 9400 #
for bank in reversed(platidla): #zacneme najvyssou bankovkou
while bank <= suma: #plat bankovkou, kym sa da
suma -= bank
print(bank)
Dokážte alebo vyvráťte: ak mámenkartičiek a na každej napísané nejaké kladné celé číslo, vieme určite vybraťneprádznu podmnožinu kartičiek so súčtom, ktorý je násobkom číslan.
Ak je tam číslo deliteľné n
, tak stačí jedna kartička.
Pre n=7
vyskúšame všetky dvojice.
from random import randint
cisla = [randint(1, 100) for _ in range(7)]
print(cisla)
for i in range(6): #hladame dvojice prvkov s indexami i < j
for j in range(i+1, 7):
if (cisla[i]+cisla[j]) % 7 == 0:
print(cisla[i], cisla[j])