Złota myśl:

#21: Recepta na życie: potrzeba 12 uścisków na dzień, aby móc rosnąć

Zobacz wszystkie...

Inne pierdółki:

katalog stron
Spam Poison
Analiza oglądalności witryny
The Ubuntu Counter Project - user number # 20776

Poszukiwane słowo kluczowe: logiczne

Przełóż pan zapałkę

Oglądam sobie dzisiaj Tv i natknąłem się na jakiś kanał w którym jakaś w miarę urodziwa Pani zachęcała do wygrania 1000 zł. Wystarczyło tylko przełożyć jedną zapałkę aby równanie było prawdziwe. Pogłówkowałem i wpadłem na rozwiązanie (zagadka: 47+35=136). Postanowiłem, że spróbuję szczęścia i zadzwonię. Oczywiście pod 0-400-cośtam (4,80zł za 1min). Wyklikałem numer i słyszę "Brawo! Prawie się udało, proszę spróbować jeszcze raz zadzwonić!" No i jak tu się nie denerwować :-/ ludzi tak ewidentnie w konia robią :-/. Po tej przykrej stracie 5 zł pomyślałem, że takie zadania nie są wcale trudne, nawet można zrobić w miarę prosty algorytm co będzie je za mnie rozwiązywał :-) Usiadłem więc do PHP i napisałem. Krótki algorytm działania:

0. Napisałem tablicę przejść cyfr i znaków po dodaniu / odjęciu / przełożeniu zapałki np. 5 => array ( "+" => array ( 9, 6 ), "0" => 3 ) (po dodaniu zapałki możemy mieć 9 lub 6, a po przełożeniu 3)
1. Podajemy równanie (string ze znaków 0-9 i =, -, +, / (dzielenie), x (mnożenie) )
2. Sprawdzam najpierw czy przełożenie zapałki w każdej cyfrze z osobna daje poprawne równanie
3. Jak nie to dodaje do kolejnych cyfr zapałkę, a z reszty po kolei odejmuje po jednej i patrzę czy jest poprawne
4. Jak nadal nie to odwrotnie (odejmuje od jednej, do pozostałych dodaje)
5. Wyświetlam wynik jako string i obrazki (zapałki) ;-)

uzyskany efekt można obejrzeć na:
marcin.antylameriada.net/syf/zapalki/index.php5

Tag: zapałki logiczne zadania php

Dodano: 2007-11-28 23:42:52 | Skomentuj (0)