Olen jumissa tehtävässä lukuspiraali I. En sitten millään saa päähän tapaa jolla tuon voisi ratkaista.
onko jolla kulla antaa vihjettä jotta pääsisin alkuun? :)
PHP-haasteen idea on mitata ongelmanratkaisukykyä ohjelmoimalla. Jos et millään saa tehtävää ratkaistua omin keinoin, olet löytänyt tämänhetkisen taitotasosi. Mikäli intoa riittää harjoitteluun, saat tehtävän ratkaistua jokin päivä.
Ohjelman rakennetta voi olla hyvä miettiä ensin kynällä ja paperilla. Muutama silmukka ja taulukko riittävät ratkaisuun.
Chiman kirjoitti:
PHP-haasteen idea on mitata ongelmanratkaisukykyä ohjelmoimalla. Jos et millään saa tehtävää ratkaistua omin keinoin, olet löytänyt tämänhetkisen taitotasosi. Mikäli intoa riittää harjoitteluun, saat tehtävän ratkaistua jokin päivä.
No tämä nyt ei suoranaisesti pidä paikkaansa, sillä jotkut aikaisemmassa vaiheessa olleet haasteet ovat olleet hankalampia kuin myöhemässä vaiheessa. Hyvä esimerkki on tehtävä 22, taikaneliö...
Triton kirjoitti:
No tämä nyt ei suoranaisesti pidä paikkaansa, sillä jotkut aikaisemmassa vaiheessa olleet haasteet ovat olleet hankalampia kuin myöhemässä vaiheessa. Hyvä esimerkki on tehtävä 22, taikaneliö...
Niin, PHP-haasteen tehtäviä on mahdoton asettaa johonkin absoluuttiseen vaikeusjärjestykseen, koska ihmiset ovat oppineet ratkaisemaan erilaisia ongelmia eri tahtiin *). Silti jumituskohta kertoo mielestäni summittaisen tason.
*) Esim. tehtävä 81 oli minulle suoraviivainen, mutta 60 vaati enemmän hahmottamista.
Triton kirjoitti:
Hyvä esimerkki on tehtävä 22, taikaneliö...
Kieltämättä se oli kohtuuttoman helppo siihen väliin.
Grez kirjoitti:
Triton kirjoitti:
Hyvä esimerkki on tehtävä 22, taikaneliö...
Kieltämättä se oli kohtuuttoman helppo siihen väliin.
Jos tähän väliin täytyy jotakin sarkasmia kylvätä, niin olkoon sitten niin... Tosiasiassa tuo edellä mainittu tehtävä oli kuitenkin haastavampi, mitä esim. sitä pari seuraavaa tehtävää. Pointtini nyt kuitenkin oli juuri se, ettei nuo tehtävät ole, niin kuin Chimankin sanoi, täysin absoluuttisessa vaikeusjärjestyksessä.
Triton kirjoitti:
Tosiasiassa tuo edellä mainittu tehtävä oli kuitenkin haastavampi, mitä esim. sitä pari seuraavaa tehtävää.
Tämä "tosiasia" perustuu vain ja ainoastaan omaan kokemukseesi. Minusta taas kyseinen tehtävä vaikuttaa paljon helpommalta kuin esimerkiksi juuri sitä edellinen: eihän tuossa tarvitse kuin laskea 10 summaa (joiden lausekkeet voi vaikka kirjoittaa valmiiksi) ja tarkistaa, että taulukossa on luvut 1–16.
Metabolix kirjoitti:
Triton kirjoitti:
Tosiasiassa tuo edellä mainittu tehtävä oli kuitenkin haastavampi, mitä esim. sitä pari seuraavaa tehtävää.
Tämä "tosiasia" perustuu vain ja ainoastaan omaan kokemukseesi. Minusta taas kyseinen tehtävä vaikuttaa paljon helpommalta kuin esimerkiksi juuri sitä edellinen: eihän tuossa tarvitse kuin laskea 10 summaa (joiden lausekkeet voi vaikka kirjoittaa valmiiksi) ja tarkistaa, että taulukossa on luvut 1–16.
Niin no onhan se täysin oma subjektiivinen käsitykseni asiasta ja näin ollen sanavalintani oli huono. Jokatapauksessa oma huomiosi siitä, että tehtävää 22 edeltävä tehtävä on mielestäsi hankalampi, korostaa entisestään alkuperäistä pointtiani tehtävien vaikeusjärjestyksestä....
Triton kirjoitti:
Jos tähän väliin täytyy jotakin sarkasmia kylvätä, niin olkoon sitten niin...
Ei siinä mitään sarkasmia ollut. Katsoin tehtävät 21, 22 ja 23 ja mielestäni 22 oli helpompi kuin nuo muut eli "kohtuuttoman helppo tuohon väliin"..
Mielestäni kaikki tässä esitetyt puheenvuorot korostaa vain ja ainoastaan pointtia, että järjestys on subjektiivinen.
Harjoittuneisuus tietyillä osa-alueilla johtaa eri tehtävien nopeuteen ratkaista. Jos joku absoluuttinen vaikeusasteikko tahdotaan, niin pitäisi olla jokin mistä sen ottaa. esim. Suomen opetusjärjestelmän matematiikanopetuksen opetusjärjestys olisi kelvollinen vaikeusasteikko, vaikka joku saattaakin olla mieltä, että Pythagoraan lause voitaisiin opettaa aikaisemmin ja joistakin 2.asteenyhtälönratkaisukaava kuuluisi lukioon.
En viitsi uutta aihetta aloittaa joten pistän tämän tänne:
<?php $rivit = explode('|', $_REQUEST['aloitus']); for ($i = 0; $i < count($rivit); $i++) { $taulukko[$i] = str_split($rivit[$i]); } for ($i = 0; $i < $_REQUEST['vaiheet']; $i++) { for ($r = 0; $r < count($rivit); $r++) { for ($s = 0; $s < count($rivit); $s++) { $naapureita = 0; //YLÄ if (isset($taulukko[$r-1][$s])) { if ($taulukko[$r-1][$s] == 'E') $naapureita++; } //YLÄ-OIKEA if (isset($taulukko[$r-1][$s+1])) { if ($taulukko[$r-1][$s+1] == 'E') $naapureita++; } //OIKEA if (isset($taulukko[$r][$s+1])) { if ($taulukko[$r][$s+1] == 'E') $naapureita++; } //ALA-OIKEA if (isset($taulukko[$r+1][$s+1])) { if ($taulukko[$r+1][$s+1] == 'E') $naapureita++; } //ALA if (isset($taulukko[$r+1][$s])) { if ($taulukko[$r+1][$s] == 'E') $naapureita++; } //ALA-VASEN if (isset($taulukko[$r+1][$s-1])) { if ($taulukko[$r+1][$s-1] == 'E') $naapureita++; } //VASEN if (isset($taulukko[$r][$s-1])) { if ($taulukko[$r][$s-1] == 'E') $naapureita++; } //YLÄ-VASEN if (isset($taulukko[$r-1][$s-1])) { if ($taulukko[$r-1][$s-1] == 'E') $naapureita++; } //LASKETAAN MITÄ RUUDULLE TAPAHTUU if ($naapureita < 2 || $naapureita > 3) { $taulukko[$r][$s] = 'K'; } if ($taulukko[$r][$s] == 'K' && $naapureita == 3) { $taulukko[$r][$s] = 'E'; } } } } //TULOSTETAAN TAULUKKO for ($r = 0; $r < count($rivit); $r++) { for ($s = 0; $s < count($rivit); $s++) { echo $taulukko[$r][$s]; } echo ' '; } ?>
Kyseessä on siis haaste #48 Elämäpeli.
Olen käynyt koodia monta kertaa läpi mutta haasteen ratkaisut ovat täysin erilaisia omani kanssa. Skriptin pitäisi kaiken järjen mukaan toimia mutta se ei toimi. Osaako joku valaista mikä mättää?
Tehtävä kirjoitti:
Kaikki yhden vaiheen muutokset päivitetään ruudukkoon samanaikaisesti.
Et voi muuttaa taulukon tilaa kesken laskujen. Nythän koodissasi käy näin:
E.E ..E ... ... ... => ... => ... => ... E.. E.. E.. ...
Oikein kyseinen tilanne menisi näin:
E.E ... ... => .E. E.. ...
Lisäksi näköjään oletat, että ruudukko on neliö (yhtä leveä kuin korkeakin), vaikka itse en ainakaan huomannut säännöissä tällaista mainintaa.
Minä jumiuduin jo siihen kohtaan mistä ne haasteet löytyy..
Vasta_alkaja kirjoitti:
Minä jumiuduin jo siihen kohtaan mistä ne haasteet löytyy..
Oikeassa laidassa hakukentän alla on Pikalinkit josta löytyy PHP-haaste.
Hahaa.. Ensimmäinen haaste voitettu.. Ne löytyi.
Aihe on jo aika vanha, joten et voi enää vastata siihen.