JustPaste.it

Matematyka rekreacyjna na skróty

Gdy nie chce się rozwiązywać zadań można napisać program, który pomoże. Tylko czy to aby na pewno jest łatwiejsze i szybsze? Ciekawe jednak przeanalizować całą klasę zadań.

Gdy nie chce się rozwiązywać zadań można napisać program, który pomoże. Tylko czy to aby na pewno jest łatwiejsze i szybsze? Ciekawe jednak przeanalizować całą klasę zadań.

 

ab07a5667146ac3075fb2e62a735f967.jpg

Uwielbiam rozwiązywać zadania logiczne, zwłaszcza tzw. matematyki rekreacyjnej. Nowy dodatek GW pod tytułem "Na pamięć" dostarcza mi co tydzień nową porcję wysokiej jakości zadań tego typu. Zwróciłem uwagę na jeden z typów takich zadań postaci:

x.W = k * W.x

gdzie W oznacza wielocyfrową liczbę, x liczbę jednocyfrową, a k pewną stałą całkowitą lub jej odwrotność. Gwiazdka to oczywiście mnożenie. Kropka w zapisie oznacza konkatenację cyfr, a więc raz x jest dołączane na początek naszej liczby W, a raz na koniec.

Rozwiązałem w "Na pamięć" dwa takie zadania: Jedno z x=5, k=2; a drugie z x=1, k=1/3 i dodatkowa informacja, że W ma 5 cyfr. Wszystko zrobiłem ręcznie na papierze. Trudniejsze i ciekawsze było to pierwsze, bo nieznaliśmy liczby cyfr i okazało się, że W ma ich aż 17. Pomyślałem jednak, że ciekawie byłoby zbadać wszystkie pozostałe przypadki. Napisałem, więc wcale nie banalny program i tak powstała poniższa tabelka, w której zaznaczyłem rozwiązania uzyskane też ręcznie:

x\k 1 2 3 4
1 2/11 0 0 0
2/11 0 5/42857 0
2 1/2 17/10526315789473684 0 0
1/2 0 5/85714 0
3 1/3 17/15789473684210526 27/103448275862068965517241379 0
1/3 0 0 0
4 1/4 17/21052631578947368 27/137931034482758620689655172 5/10256
1/4 0 0 0
5 1/5 17/26315789473684210 27/172413793103448275862068965 5/12820
1/5 0 0 0
6 1/6 17/31578947368421052 27/206896551724137931034482758 5/15384
1/6 0 0 0
7 1/7 17/36842105263157894 27/241379310344827586206896551 5/17948
1/7 0 0 0
8 1/8 17/42105263157894736 27/275862068965517241379310344 5/20512
1/8 0 0 0
9 1/9 17/47368421052631578 27/310344827586206896551724137 5/23076
1/9 0 0 0
x\k 5 6
1 0 0
0 0
2 0 0
0 0
3 0 0
0 0
4 0 0
0 0
5 41/10204081632653061224489795918367346938775 0
0 0
6 41/12244897959183673469387755102040816326530 57/101694915254237288135593220338983050847457627118644067796
0 0
7 5/14285 57/118644067796610169491525423728813559322033898305084745762
0 0
8 41/16326530612244897959183673469387755102040 57/135593220338983050847457627118644067796610169491525423728
0 0
9 41/18367346938775510204081632653061224489795 57/152542372881355932203389830508474576271186440677966101694
0 0
x\k 7 8 9
1 0 0 0
0 0 0
2 0 0 0
0 0 0
3 0 0 0
0 0 0
4 0 0 0
0 0 0
5 0 0 0
0 0 0
6 0 0 0
0 0 0
7 21/101449275362318840579 0 0
0 0 0
8 21/115942028985507246376 12/101265822784 0
0 0 0
9 21/130434782608695652173 12/113924050632 43/1011235955056179775280898876404494382022471
0 0 0

Zera oznaczają, że w zakresie do 100 cyfr nie ma takiej liczby. Zawsze podawane jest tylko rozwiązanie o najmniejszej liczbie cyfr, nawet gdy jest ich więcej. 

Program można by rozwinąć, aby akceptował formułę definiującą szerszą klasę takich zadań np. gdy jeszcze dodajemy jakąś stałą albo więcej cyfr przestawiamy. Wtedy mógłby służyć szybkiemu rozwiązywaniu takich zadań. Ale mnie on niepotrzebny, wolę pomęczyć mózg i rozwiązywać na piechotę, tylko może już nie tego typu zadań, a jakichś zupełnie innych.