forum speccy.pl
ZX Spectrum => RÓŻNOŚCI => Wątek zaczęty przez: popocop w 2015.06.05, 16:06:15
-
Zamieszczam trzy zagadki wydrukowane 29 lat temu w "Komputerze". Nie znam ich rozwiązań, bo miesięcznik takowych nie drukował. Jak ktoś chce pogłówkować i je rozwiąże, to niech się podzieli swoim tokiem myślenia.
-
Pierwsze jest proste - żadna z kombinacji nie jest podzielna przez 7, więc coś jest "nie tak" z zagadką. Jedna z cyfr jest inną cyfrą po odwróceniu - chłopiec z 6 musi stanąć na rękach. 931 = 7 * 133.
Drugie - znów coś jest "nie tak" z zagadką. Moim zdaniem należy zjeść 2 jabłka, siedzącym przy stole rozdać po 1 i wtedy 2 zostają w koszyku.
Trzecie - jeszcze nie rozkminiłem, sprawdzam dla różnych liczb i działa :)
-
Nie znałem tej metody bez wołania Pomocy. :)
-
Drugie - znów coś jest "nie tak" z zagadką.
To znaczy że znów jest haczyk ;)
Wszyscy dostają po 2 jabłka, z tym że jedna osoba razem z koszykiem.
-
Nie znałem tej metody bez wołania Pomocy
Wszystko to jest opisane na Wiki. Jest też inny algorytm zamiany z użyciem operacji XOR:
http://pl.wikipedia.org/wiki/Zamiana_warto%C5%9Bci_zmiennych
Ale o co chodziło autorom zagadki to dalej nie wiem, bo nie sądzę że o przekroczenie zakresu liczby całkowitej o czym pisze Wikipedia.
-
W pierwszym przypadku to brak wartości X w linii 10 a w drugim brak wartości Y i w obu przypadkach pojawia się błąd:
2 Variable not found, 10:1
Jak dla mnie bez sensu ta zagadka albo autor o czymś zapomniał.
-
Podchodzisz z niewłaściwym nastawieniem. To jest prezentacja algorytmu, a nie kompletny program.
-
Dobra dopisałem sobie kilka linii i teraz działa OK tylko nadal nie rozumiem jak POMOC może nie nadejść na czas? Jeśli brak zmiennej POMOC tzn. źle napisany program i tyle.
1 LET X=50: LET Y=10
2 PRINT "X=";X,"Y=";Y
10 LET POMOC=X
20 LET X=Y
30 LET Y=POMOC
40 PRINT "X=";X,"Y=";Y
-
Dobra dopisałem sobie kilka linii i teraz działa OK tylko nadal nie rozumiem jak POMOC może nie nadejść na czas? Jeśli brak zmiennej POMOC tzn. źle napisany program i tyle.
To znaczy, że masz złe podejście.
Nie traktuj wszystkiego tak bardzo serio :)
-
Dobra dopisałem sobie kilka linii i teraz działa OK tylko nadal nie rozumiem jak POMOC może nie nadejść na czas? Jeśli brak zmiennej POMOC tzn. źle napisany program i tyle.
Naprawdę nie czujesz tej użytej konwencji?
A to że dwie zmienne w programie rozmawiają ze sobą to cię nie razi? ;)
Chodzi o to że masz zamienić a nie możesz użyć trzeciej zmiennej. Takie wyzwanie programistyczne.
I wcale nie tak z sufitu wzięte. Istniały kiedyś systemy w których każdy bajt pamięci był cenny i języki programowania w których liczba zmiennych była ograniczona. Takie zamiany miały więc czasem uzasadnienie.
-
...nadal nie rozumiem jak POMOC może nie nadejść na czas?
Procesor wstrzymał POMOC. Na herbatce ;)