Sunday, June 1, 2014

Program z Matematycznego Dnia Dziecka

W piątek odbyły się obchody Matematycznego Dnia Dziecka w ZSO, do którego uczęszczam. Nie wiedziałem, jaką konkurencję wymyślić i jakoś tak wyszło, że skończyło się na zamienianiu podanej liczby na mnożenie. Moja konkurencja nazywała się "Szalone iloczyny". Swoją drogą, nie wiedziałem, że kwestia mnożenia w liceum może przysporzyć tyle kłopotu. Tuż po obchodach czułem się trochę zmieszany, bo starałem się jak mogłem, aby być zrozumianym. Darowałbym sobie to całe biadolenie, gdyby nie fakt, że gimnazjaliści poradzili sobie z moją konkurencją lepiej. No ale kim ja jestem, żeby cokolwiek od kogokolwiek wymagać... Poza tym nie muszę wszystkiego rozumieć.
Tyle goryczy, teraz do rzeczy.
Właściwie jedyną zasadą konkurencji była zamiana liczby na mnożenie. Odpowiedzi można było udzielić na jeden z dwóch sposobów: poprzez podanie wylosowanej liczby w postaci iloczynu dwóch jakichś innych liczb albo poprzez podanie rozkładu liczby na czynniki pierwsze. Nie podam teraz punktacji bo jest ona już nieistotna. Wyjaśnię na przykładzie, bo zaraz pewnie przestaniesz czytać.
Wylosowałem liczbę 48.
W sposobie #1 mogę podać jedną z aż 4 możliwości: 2*24 3*16 4*12 6*8.
W sposobie #2 muszę podać 2*2*2*2*3, aby zdobyć punkty.
Program nie uzna odpowiedzi 1*48, bo to haratnięcie w gałę, a nie odpowiedź.
Resztę obostrzeń przybliży Ci screenshot poniżej:

Tyle.
Przykładowy screenshot programu w akcji:

Program losuje 152 liczby złożone nie większe od 200, następnie wybiera z tablicy z wylosowanymi 3 początkowe elementy.
W paczce poniżej program z konkurencji, ten sam program bez ograniczeń czasowych i kod źródłowy.
[Pobierz]

No comments:

Post a Comment