Szukając tysiąca

Znajoma znajomej ma syna. Syn ma lat dziewięć, w związku z czym uczęszcza do szkoły. W szkole uczy się między innymi matematyki. No i trafił na takie dość zaawansowane (jak na dziewięciolatka) zadanie:

Używając cyfr 1-9, utwórz trzy liczby trzycyfrowe, których suma wynosi 1000. Każdej cyfry można użyć tylko raz.

Ponieważ chłopak nie bardzo wiedział jak to ugryźć, zagaił do rodziców po pomoc. Rodzice ugrzęźli, więc rozpuścili wici po znajomych. Wreszcie zadanko trafiło do mnie. Zacząłem kombinować. Najpierw wyszło mi, że ilość możliwych kombinacji idzie w miliony, a więc w najgorszym razie dałoby się to zasymulować w SQL-u (ot, wygenerować wszystkie permutacje i odfiltrować te, które dają sumę inną niż 1000). Ale, pomyślałem sobie, przecież nie każą dziewięciolatkowi instalować SQL Servera dla jednego zadanka. A więc można prościej.

Rozpisałem sobie wszystkie możliwe kombinacje ostatnich cyfr tych liczb trzycyfrowych tak, żeby na końcu wyszło zero. A więc: (1,2,7), (1,3,6) i tak dalej aż do (9,8,3).

Potem pomyślałem, że dla każdej z tych kombinacji znajdę kombinacje drugich cyfr, żeby na drugim miejscu od końca też wyszło zero. Powinno ich być dużo mniej, bo trzy już są zużyte. Ale jednak za dużo bazgraniny z tego wyszło, więc wziąłem się na sposób:

Rozpisałem sobie wszystkie cyfry, w grupach po trzy, o tak:

123 456 789

Dodałem je. Wyszło więcej niż 1000. Zacząłem przestawiać cyfry między liczbami aż doszedłem do wariantu dającego w sumie 999.

I tu mnie olśniło.

Przecież skoro udało mi się ułożyć sumę 999, która dzieli się przez trzy, to każda inna suma też będzie dzielić się przez trzy. Przecież 1+2+3+4+5+6+7+8+9 dzieli się przez trzy. A tysiąc przez trzy się nie dzieli.

A więc zmarnowałem sporo czasu na bezużyteczne rozważania…

Tak czy siak, założyłem, że w treści zadania był błąd, i że tam miało być “dziewięć wybranych cyfr” a nie “wszystkie cyfry od 1 do 9”.

Przy takim założeniu, należy usunąć jedną z cyfr z zestawu, a z pozostałych ułożyć trzy liczby zgodnie z warunkami zadania.

Pytanie: co usunąć?

Na pewno nie trójkę, szóstkę ani dziewiątkę, bo to nie zmieni w żaden sposób podzielności przez trzy. Skoro 1000 mod 3 = 1, trzeba tę “resztową” jedynkę jakoś “dodać”, a więc trzeba usunąć cyfrę, która daje w dzieleniu przez trzy resztę dwa (w efekcie, sumowanie będzie zawsze dawało wynik dzielący się przez trzy z resztą jeden, a więc będzie szansa na uzyskanie równego tysiąca).

W ten sposób kombinując, uzyskałem listę cyfr 0,1,2,3,4,5,6,7,9 (wyrzuciłem ósemkę), a następnie, metodą prób i błędów, znalazłem: 263+197+540=1000.

Oczywiście cyfry można zamieniać między tymi liczbami, pod warunkiem, że nie zmienimy ich pozycji w liczbie. A więc: 163+297+540, 293+167+540, 260+197+543 i tak dalej.

Prawdopodobnie da się też rozwiązać zadanie wywalając dwójkę albo piątkę (zamiast ósemki). Na to już mi nie starczyło samozaparcia 🙂

Odmaszerowuję do zmywaka.


Zapisz się
Powiadom o
guest
7 komentarzy
Inline Feedbacks
Zobacz wszystkie komentarze
7
0
Zapraszam do skomentowania wpisu.x
()
x