Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

11 Stron V  « < 2 3 4 5 6 > »   
Reply to this topicStart new topic
> Ciekawe zadania logiczne i matematyczne
FiDO
post
Post #61





Grupa: Przyjaciele php.pl
Postów: 1 717
Pomógł: 0
Dołączył: 12.06.2002
Skąd: Wolsztyn..... Studia: Zielona Góra

Ostrzeżenie: (0%)
-----


Cytat
Ale teraz pytanie:
- czy na pewno jest rozwiązanie tego zadania  :?:  :?:  :?:  

TAK!
Cytat
- pisałeś coś o trzech: czy wyczerpują one wszystkie możliwości :?:  
każdą sytuacje :?:

Oczywiscie... z tym ze jednego rozwiazania sobie juz nie przypomne, bo to zrobil moj kumpel jeszcze w LO i nie zapisalem tego :/ Jedno mam rozpisane ladnie na wszystki przypadki, i jeszcze jedno, do ktorego doszedlem sam w miare pamietam i mam jeszcze jakies notatki z tego w zeszycie od algebry, musze go tylko znalezc (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Moze ulatwie Wam zadanie, zebyscie sie nie wysilali.
Do pomiaru wagi kulek mozna uzywac tylko 2 szalkowej!! wagi ... szalkowej (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) , a nie rak, wody czy czego tam jeszcze nie wymyslicie (IMG:http://forum.php.pl/style_emoticons/default/snitch.gif)

Cytat
Mi się wydaje, że rozwiązanie jest. Fido, nie publikuj go na razie, ok?
Kombinuje nad tym od paru dni i chyba jestem już blisko. Jak dobrze pójdzie, to do wieczora przyślę propozycję rozwiązania.

Oki, nie powiem :X (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Go to the top of the page
+Quote Post
dragossani
post
Post #62





Grupa: Przyjaciele php.pl
Postów: 398
Pomógł: 0
Dołączył: --
Skąd: Poznań

Ostrzeżenie: (0%)
-----


Moja propozycja rozwiązania problemu kulek:

Aby sensownie móc posługiwać się kulkami należy je najpierw ponumerować (to chyba nam wolno?). Do pierwszego ważenia bierzemy 2x po 4 kulki. [1,2,3,4] vs [5,6,7,8]. Jeśli mamy równowagę, ważymy [9,10] vs [11,8] (wiemy, ze 8 jest normalna). Jeśli nadal mamy równowagę to podejrzana jest 12. Możemy ją zważyć z dowolną inną by określić czy jest ciężka czy lekka. Jeśli [9,10] vs [11,8] przeważa na stronę [11,8] to albo 11 jest ciężka, albo 9 jest lekka, albo 10 jest lekka. Ważymy [9] vs [10]. Jeśli mamy równowagę - 11 jest ciężka, jeśli nie - lżejsza z aktualnie ważonych jest sprawcą. Podobny sechemat działa jeśli [11,8] jest lżejsze niż [9,10]. Rozważając dalej: jeśli pierwsze ważenie przeważało na stronę [5,6,7,8] to któraś z [1,2,3,4] jest lekka, albo któraś z [5,6,7,8] jest ciężka. Ważymy kulki tak by dobrać dwie z potencjalnie lekkich i jedną potencjalnie ciężką na jedną szalę, a na drugą szalę kładziemy jedną potencjalnie lekką, jedną potencjalnie ciężką i jedną która nie jest podejrzana. Czyli np. [1,2,5] vs [3,6,9]. Jeśli mamy równowagę, to albo jedna z poprzednio spoczywających na cięższej szali jest ciężka (czyli 7 lub 8 ), albo któraś z poprzednio spoczywających na lżejszej szali jest lekka (czyli 4). Ważymy [7] vs [8], jeśli mamy równowagę winowajcą jest lekka 4, jeśli nie - cięższa z właśnie ważonych jest winna. Cofnijmy się jeszcze raz. Jeśli [1,2,5] vs [3,6,9] nie daje równowagi - np. przeważa na stronę [3,6,9] to 6 jest ciężka lub 1 jest lekka, lub 2 jest lekka. Ważymy dwie potencjalnie lekkie ([1] vs [2]) by sprawdzić kto zawinił. Jeśli natomiast [1,2,5] jest cięższe niż [3,6,9] to 3 jest lekka lub 5 jest ciężka (9 jest przecież poza podejrzeniem). Dalej już metoda się powtarza - nie warto pisać. Całość schematu ważenia opublikowałem TUTAJ. Na schemacie moment ważenia narysowałem w postaci (1)(2) === (3)(4). L8 to lekka 8, C8 to ciężka 8. Czerwona strzałka - przeważyło na lewo, zielona - równowaga, niebieska - przeważyło na prawo. Schemat jest kompletny i przetestowany (tak mi się wydaje).

Co wy na to?
Go to the top of the page
+Quote Post
FiDO
post
Post #63





Grupa: Przyjaciele php.pl
Postów: 1 717
Pomógł: 0
Dołączył: 12.06.2002
Skąd: Wolsztyn..... Studia: Zielona Góra

Ostrzeżenie: (0%)
-----


no chyba juz prawidlowo i to rozwiazanie jest takie samo, badz bardzo podobne do tego, do ktorego ja doszedlem, w weekend jak bede w domu to poszukam tego zeszytu, w ktorym to robilem i porownam

PS. czym zrobiles taki ladny wykresik?
Go to the top of the page
+Quote Post
mund
post
Post #64





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 8.10.2002

Ostrzeżenie: (0%)
-----


Myślę, że mi się udało (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)
co prawda dopiero w sobotę ale zawsze to coś,
nie miałem dostępu do netu więc publikuje dopiero teraz.

Spodobał mi się pomysł Dragossaniego więc postanowiłem również narysować graf przedstawiający tok rozumowania:

krawędź w lewo oznacza, że lewa szalka przechyliła się w dół
krawędź w prawo oznacza, że prawa szalka przechyliła się w dół
krawędź prosto w dół oznacza równowagę między szalkami

podałem od razu przypuszczalne ciężkości kulek (łatwiej zrozumieć tok rozumowania)

wykresik można odczytać tutaj
Go to the top of the page
+Quote Post
mund
post
Post #65





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 8.10.2002

Ostrzeżenie: (0%)
-----


teraz ja mam zadanko, dostał je mój kolega przyjmując się do pracy (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

mamy ciąg znaków o nieznanej długości,
należy sprawdzić czy występuje w tym ciągu litera 'a'
wykonać zadanie nalezy wykorzystując tylko jedną instrukcje warunkową.

(IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)

nie wolno więc używać funkcji, których algorytm wykorzystuje więcej niż jeden warunek np.:ereg, strpos, itp.

aby uniezależnić rozwiązanie od konkretnego języka proponuję narysować algorytm.

wiem że zadanie jest banalne, ale potrafi dostarczyć troche rozrywki umysłowej (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)
Go to the top of the page
+Quote Post
dragossani
post
Post #66





Grupa: Przyjaciele php.pl
Postów: 398
Pomógł: 0
Dołączył: --
Skąd: Poznań

Ostrzeżenie: (0%)
-----


Cytat
PS. czym zrobiles taki ladny wykresik?

StarOffice 5.2
Go to the top of the page
+Quote Post
KaMeLeOn
post
Post #67





Grupa: Zarejestrowani
Postów: 680
Pomógł: 0
Dołączył: 1.10.2002
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Gratulacje dragossani :!:

Ja jedno, Ty drugie, czekamy na następne zadanka...
Go to the top of the page
+Quote Post
rachwal
post
Post #68





Grupa: Zarejestrowani
Postów: 71
Pomógł: 0
Dołączył: 29.08.2002
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Znam ciekawą stronkę: http://www.plastelina.net ... jeśli ktoś przerabiał teorię grafów to zadania nie powinny mu sprawić większych problemów...
PS. Nie wiem czy już się tu ten link nie pojawił - nie czytałem wszystkich postów w tym topicu.
Go to the top of the page
+Quote Post
RaZor
post
Post #69





Grupa: Zarejestrowani
Postów: 26
Pomógł: 0
Dołączył: 16.10.2002
Skąd: Kraków

Ostrzeżenie: (0%)
-----


Cytat
teraz ja mam zadanko, dostał je mój kolega przyjmując się do pracy (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

mamy ciąg znaków o nieznanej długości,
należy sprawdzić czy występuje w tym ciągu litera 'a'
wykonać zadanie nalezy wykorzystując tylko jedną instrukcje warunkową.

(IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)

nie wolno więc używać funkcji, których algorytm wykorzystuje więcej niż jeden warunek np.:ereg, strpos, itp.

aby uniezależnić rozwiązanie od konkretnego języka proponuję narysować algorytm.

wiem że zadanie jest banalne, ale potrafi dostarczyć troche rozrywki umysłowej (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)


Jest trochę późno węc pewnie, coś sparole (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Zrobiłem sobie klona ciagu i dodalem na koncu 'a', pentelką przechodze przez klona do mometu napotkania 'a' i zapisuje index.
Kolejną perntelką przechodzę przez dany ciąg do momętu gdy znajdę 'a' lub gdy nowe polozenie jest inne niż stare +1. Nawet nie wiem czy dobrze to wytlumaczylem (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) Więc daje kod bo trochę nie umiem rysować (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)

Kod
<?

$string1="//dany ciąg";

$string2.=$string1.'a';//oto klon a raczej mutant

$i1=0;$i2=0;

while($string2[$i1]!='a')$i1++;

while( ($string1[$i2]!='a')and($i2!=$i1+1) )$i2++;



if ($i1==$i2)echo "jest a";

   else echo "nie ma a";

?>


Pytanie tylko czy można używać pętli??
Go to the top of the page
+Quote Post
RaZor
post
Post #70





Grupa: Zarejestrowani
Postów: 26
Pomógł: 0
Dołączył: 16.10.2002
Skąd: Kraków

Ostrzeżenie: (0%)
-----


Nie czekając na odpowidź na moje poprzednie pytanie przedstawie kolejna łamigłówkę:

Mamy 2 liczby A i B. Jak zamienić je wartościami nie używając do tego trzeciej zmiennej?

Przykładowo A=5 a B=8 a w wyniku mamy otrzmymać A=8 i B=5
Nie można używać, żadnych dodatkowych zmiennych czy podstawień typu A:=:B (nie ma tego w php).

Ciekawy jestem czy znajdzie się odważny?
Go to the top of the page
+Quote Post
kurtz
post
Post #71





Grupa: Przyjaciele php.pl
Postów: 786
Pomógł: 0
Dołączył: 18.03.2002
Skąd: Wroclaw/Warszawa

Ostrzeżenie: (0%)
-----


Cytat
Mamy 2 liczby A i B. Jak zamienić je wartościami nie używając do tego trzeciej zmiennej?

najkrocej to ZTCP
Kod
list($b,$a)=array($a,$b);


jeszcze chyba na 2 czy 3 sposoby sie dalo - polowkami, xorem ;)
zlote czasy sie przypominaja ;)
Go to the top of the page
+Quote Post
RaZor
post
Post #72





Grupa: Zarejestrowani
Postów: 26
Pomógł: 0
Dołączył: 16.10.2002
Skąd: Kraków

Ostrzeżenie: (0%)
-----


Cytat
Cytat
Mamy 2 liczby A i B. Jak zamienić je wartościami nie używając do tego trzeciej zmiennej?

najkrocej to ZTCP
Kod
list($b,$a)=array($a,$b);


jeszcze chyba na 2 czy 3 sposoby sie dalo - polowkami, xorem (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
zlote czasy sie przypominaja (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)


Źle się wyraziłem (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) Nie używając funkcji

Teraz sporo podniosłem poprzeczkę (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)

Duża podpowiedź : Jedynie instrukcje podstawienia
Go to the top of the page
+Quote Post
kurtz
post
Post #73





Grupa: Przyjaciele php.pl
Postów: 786
Pomógł: 0
Dołączył: 18.03.2002
Skąd: Wroclaw/Warszawa

Ostrzeżenie: (0%)
-----


Cytat
Cytat

najkrocej to ZTCP
Kod
list($b,$a)=array($a,$b);


Źle się wyraziłem ;) Nie używając funkcji

no problem - wlasnie sobie wymyslilem:
Kod
$a=$b+(($b=$a)&&0)+0;
albo
Kod
$a=$b+(($b=$a)&0);
albo
Kod
$a=$b+0%$b=$a
albo po prostu
Kod
$a=$b+0*$b=$a;
no ew
Kod
$a=$b*($b=$a)/$b;

ew jesli wiecej niz 1 linijka to np:
Kod
$a+= $b;

$b=$a-$b;

$a=$a-$b;

jest jeszcze wersja z xorem ale wtedy musza bys abs inty

tylko siedze i ciskam "zmien" zeby dopisac nowy wariant ;). a i tak wiem ze da sie jeszcze inaczej ;)
Go to the top of the page
+Quote Post
RaZor
post
Post #74





Grupa: Zarejestrowani
Postów: 26
Pomógł: 0
Dołączył: 16.10.2002
Skąd: Kraków

Ostrzeżenie: (0%)
-----


Cytat
no problem - wlasnie sobie wymyslilem:
Kod
$a=$b+(($b=$a)&&0)+0;

albo
Kod
$a=$b+(($b=$a)&0);

ps
tak, wiem ze da sie jeszcze inaczej (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) ))


Dobriiiiiiiiiii (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Gratuluje.
Ten php daje jednak możliwości (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) Mogłem napisac jeszcze, bez wskaźników (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) Ale i tak trafiłeś w moją wersje.
Kod
$a+=$b;

$b=$a-$b;

$a=$a-$b;

To napewno wszycy zrozumieli.

Tak właściwie co oznacza zapis &0 (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) Wskaźnik na 0 ?
A myślałem, że znam się na php (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)
Go to the top of the page
+Quote Post
kurtz
post
Post #75





Grupa: Przyjaciele php.pl
Postów: 786
Pomógł: 0
Dołączył: 18.03.2002
Skąd: Wroclaw/Warszawa

Ostrzeżenie: (0%)
-----


Cytat
Ten php daje jednak możliwości ;) Mogłem napisac jeszcze, bez wskaźników ;)

ja nigdzie nie uzylem wskaznika. a mozliwosci jest tyle co i w innych jezykach ;>
Cytat
Tak właściwie co oznacza zapis &0 ???? Wskaźnik na 0 ?
nie. binarny and. $costam & 0 zawsze zwroci 0. na podobnej zasadzie dziala $zmienna && 0 (tylko wtedy zawsze zwracana jest wartosc false).
Go to the top of the page
+Quote Post
mund
post
Post #76





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 8.10.2002

Ostrzeżenie: (0%)
-----


Cytat
Jest trochę późno węc pewnie, coś sparole (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Zrobiłem sobie klona ciagu i dodalem na koncu 'a', pentelką przechodze przez klona do mometu napotkania 'a' i zapisuje index.

to by było ok, ale użyłeś z 4 instrukcji warunkowych (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)
poza tym w zadaniu nie było powiedziane że masz określić na której pozycji jest literka..(tylko czy wogole jest?? to nieco podchwytliwe pytanie)
Kod
<?

$string1="//dany ciąg";

$string2.=$string1.'a';//oto klon a raczej mutant

$i1=0;$i2=0;

while($string2[$i1]!='a')$i1++;

jeden warunek
Kod
while( ($string1[$i2]!='a')and($i2!=$i1+1) )$i2++;

kolejne trzy warunki

Cytat
Pytanie tylko czy można używać pętli??

Oczywiście tylko pamiętaj że przy pętli masz instrukcje warunkową (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)
Go to the top of the page
+Quote Post
mund
post
Post #77





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 8.10.2002

Ostrzeżenie: (0%)
-----


Cytat
jest jeszcze wersja z xorem ale wtedy musza bys abs inty


chyba że za zadanie masz napisać program w asemblerze (IMG:http://forum.php.pl/style_emoticons/default/laugh.gif)
wtedy nie ma znaczenia jakiego typu są zmienne.

Ja znalem taką wersję tego zadania (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)

PS. zapomniałem dodać że z ciągiem można sobie robić co się chce (IMG:http://forum.php.pl/style_emoticons/default/laugh.gif)
Go to the top of the page
+Quote Post
RaZor
post
Post #78





Grupa: Zarejestrowani
Postów: 26
Pomógł: 0
Dołączył: 16.10.2002
Skąd: Kraków

Ostrzeżenie: (0%)
-----


Cytat
to by było ok, ale użyłeś z 4 instrukcji warunkowych (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)
poza tym w zadaniu nie było powiedziane że masz określić na której pozycji jest literka..(tylko czy wogole jest?? to nieco podchwytliwe pytanie)

Narazie myśle i niemoge wymyślić wersji z jednymwarunkiem.

Co do tych instrukcji to zorientowałem się za późno i nie chciało mi się tego zmieniać.

Cytat
Cytat
Pytanie tylko czy można używać pętli??
Oczywiście tylko pamiętaj że przy pętli masz instrukcje warunkową


A chciałem być cfaniak. Ja bym powiedział nawet, że taka podpowiedź jest całkiem spora, przynajmniej wiem że moge używać wakunku ile chce razy ale ma być tylko jeden.

PS: Co z tego jak dalejnie wiem jak to zrobić. 8O
Go to the top of the page
+Quote Post
mund
post
Post #79





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 8.10.2002

Ostrzeżenie: (0%)
-----


Cytat
PS: Co z tego jak dalejnie wiem jak to zrobić. 8O


OK, wczoraj byłem na potężnym kacu i nie bardzo zrozumialem twój tok myslenia.
Zadanie rozwiązałeś!!!!!!!!!!!!!!! (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)

W oryginale chodziło o to aby dodać na końcu ciągu szukaną literkę (żeby się nie zapętlić) i przeszukiwać czy istnieje
Kod
<?

$string1="//dany ciąg";

$string2.=$string1.'a';//oto klon a raczej mutant

$i1=0;$i2=0;

while($string2[$i1]!='a')$i1++;

i to był koniec zadania (jedna instrukcja warunku)

a w dalszej części wystarczy sprawdzić czy nie jest to ostatnia litera ciągu i wiemy czy jest tam 'a' czy nie (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

troche zmyliło mnie to twoje ponowne przeszukiwanie:

Kod
while( ($string1[$i2]!='a')and($i2!=$i1+1) )$i2++;


Za zmyłkę Przepraszam :oops:
Go to the top of the page
+Quote Post
ramze
post
Post #80





Grupa: Zarejestrowani
Postów: 111
Pomógł: 0
Dołączył: 24.04.2002

Ostrzeżenie: (0%)
-----


No dobra to macie zadanko z matmy. Zadanko sam wymysliłem i jest bardzo proste (wystarczy zrozumieć co tam wybełgotałem i będzie już fajnie) i macie je tutaj (specjalnie dla was)

Cytat
Oblicz objętosć ostrosłupa gdzie promień podstawy r=A.



Aha, może się wydawać zamotane ale nie potrafiłem tego prościej przybrać w słowa (chociaż zadanko jest bardzo proste). Wskazówka: zadanie składa się z trzech części 1 2 3 , najpierw należy obliczyć cześć 2 a potem 3 i 1 (chociaż to jest oczywiste ale tak pisze jak by ktoś nie zrozumiał co tam wymamrotałem). Miłej zabawy (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) .


Nie piszcie od razu odpowiedzi tylko przysyłajcie mi na priva oczywiście jak się wam będzie chciało a ja oznajmie kto wygrał jak uznam, że trza rozstrzygnąć zawody(e) (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) .

Kto pierwszy ten lepszy.

P.S. Tam z tymi centymetrami to są sześcienne i kwadratowe.
Go to the top of the page
+Quote Post

11 Stron V  « < 2 3 4 5 6 > » 
Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 20.01.2026 - 23:01