Trzeba kupić 100 biletów za 100zł
jeden rodzaj biletu kosztuje 0,5zł
drugi 3zł
a trzeci 10zł
ile i jakich biletów trzeba kupić żeby kupić 100 biletów za 100zł i każdy rodzaj biletu musi być kupiony minimum 1 raz. ???
9 x 10 zł
3 x 3 zł
2 x 0,5 zł
Głupi jestem, zupełnie minąłem się z faktem, że ma być 100 biletów
Nie mogę teraz tego odpalić u siebie na komputerze ale bardzo łatwo to sprawdzić w dowolnym języku programowania.
Ustalasz punkt startowy 13,5zł i iteracyjnie (w potrójnej pętli) dodajesz po każdym rodzaju biletu. Do zmiennych zapisujesz ilość biletów (n) oraz ich wartość (value).
Dodajesz warunek (if (value == 100 && n == 100) wypisz wartosci iteratorów). W ten sposób wypisana zostanie każda ewentualność dająca wynik gdzie wartość biletów oraz ich ilość wyniesie 100.
Mogę to zaimplementować i pokazać rozwiązanie ale będę w domu dopiero późnym wieczorem.
Przepuszczenie problemu przez szybką implementację pomysłu Amadeusza wskazuje, że rozwiązanie Drackuli to jedyne rozwiązanie.
Python3:
for i in range(1, 99):
for j in range(1, 99):
for k in range(1, 99):
value, n = 0, 0
value += 10 * i + 3 * j + 0.5 * k
n += i + j + k
if value == 100 and n == 100:
print(i, j, k)
Output:
5 1 94
EDIT:
Dlaczego formatowanie GOLa ignoruje indentację - nie wiem, ale przepraszam za to, nie bardzo mam czas się nad tym rozwodzić.