Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: gry programistyczne
Forum PHP.pl > Inne > Hydepark
kris_
Hej!

Dla tych wszystkich ktorzy lubia programowac w php mam propozycje malej wojny programistyczno-intelektualnej.
Kazdy kto ma jakis pomysl na zakrecony program w ktorym mozna pokazac co sie potrafi rzuca go na forum i kto chce probuje zmierzyc sie z napisaniem go.

Oto moja pierwsza propozycja.
Nalezy napisac program ktory znajdzie liczbe najblizsza liczbie 10^16, podzielna przez 10841 , mniejsza od 10^16 , ktora czytana od przodu i od tylu wyglada identycznie.

Jezeli ktos czegos nie rozumie to sluze pomoca.

Pomysl nie jest moj, ale mysle ze to swietne zadanie w ktorym mozna sie sprawdzic.
Moj prog w php na celku 333 daje wynik w okolo 90 sec.

Powodzenia!

Kris
FiDO
IMHO dobry pomysl..
Moze nic nie wymysle bo nie jestem na tym poziomie, zeby wymyslac takie zadanka, ale jak cos fajnego znajde to podrzuce.. swoja droga mozna takich zadan znalezc cale mnostwo w necie, bo tego typu konkursow algorytmicznych jest/bylo niemalo.
Tylko troche lipa z mierzeniem wydajnosci. Zeby to bylo obiektywne ow "konkurs" musialby miec okreslony czas, potem zbieranie prac i mierzenie wynikow u jednej osoby na tym samym kompie, bo takie porownywanie wynikow to bez sens.. nawet jak kazdy poda dokladne parametry kompa to i tak nie da sie tego przeliczyc (2 takie same kompy moga miec rozniace sie troche wydajnosci... wszystko zalezy kto je jak zoptymalizowal winksmiley.jpg ). Zapewne roznice bylyby nawet mierzac na tym samym kompie na roznych systemach.

Apropo tego zadanka to czy php ma obsluge takich duzych liczb questionmark.gif Jakby nie patrzec liczba 10^16 jest calkiem blisko najwiekszej dopuszczalnej bezznakowej calkowitej liczby 64-bitowej.
kris_
mi napisanie tego zajelo kilka godzin, ale ok umowmy sie ze czas jest do konca tygodnia (14.09)
A ja sprobuje namowic dragossani zeby zrobil testy na maszynce newcomo jak juz wszyscy skoncza. Wynik podalem tylko tak dla porownania. Nie zastosowalem zadnych super algorytmow tylko zwykla popedzana metode brutal force i troche inteligencji.

A co do takich liczb to php obsluguje int chyba tylko jako 2^32 i na tym polega caly dowcip. Wiem ze w assemblerze mozna obslugiwac takie duze inty i slyszlaem ze ktos napisal program znajdujacy taka liczbe przy 10^20 w ciagu niecalej sekundy, ale php to nie assembler.

Kris
FiDO
Nigdzie nie zaznaczyles, wiec na wszelki wypadek spytam.. Mozna uzywac tylko modulow php (extensions) dostepnych standardowo (czyli tych co sa w manualu)?
DeyV
pomysł mi sie podoba.
Co prawda nie wiem, czy uda mi się zaangażować, bo jeszcze nie mam mądrego pomysłu, a i czasu nie za wiele, ale wiem, jak mozna by roziwązać to od natury organizacyjnej.
Tj.
1. każdy biorący udział w konkretnym zadaniu pisze swój kod, i umieszcza go na własym serwerku, w celu zaprezetnowania innym wyników (chodzi o to, by sie przekonać, czy a) zadanie jest wykonalne, cool.gif skrypt naprawde działa.

2. w terminie wszyscy biorący udział przesyłają swoje kody do wybranej osoby z grupy dev (nie biorącej udziału w konkursie). Osoba ta umieszcze skrypty na wybranym koncie w dziale dev, wraz z średnią kilku - kilkunastu (w zależności od złożoności...) czasów wykonania, i zródłem.
To było by chyba dobre podsumowanie.

3. Efektem byłby ranking programistów...

(ps. proponowałbym jednak skrypty których czas działania byłby jednak troszkę krótszy, bo ... szkoda serwera... smile.gif )
kris_
ok ustalmy ze tylko moduly z manuala.

oceny programu dokonam ja z dragossani (mysle ze sie zgodzi)

jezeli beda jakies watpliwosci co do tego czy program spelnia zalozenia to chetnie pomoge.

A jezeli zabawa wypali to nastepnym razem wybierzemy profesjonalne jury ;)
W tej chwili decyduje tylko spelnienie zalozen i predkosc dzialania.
spenalzo
Ja powiem tak: mi się pomysł podoba.
Ale mam nadzieję że nie będą to zawsze zadania takiego typu jak to, ale bardziej praktyczne. Na przykład:
Napisz skrypt który w jak najkrótszym czasie odgadnie określony ciąg znaków zakodowany przy pomocy funkcji md5.
Chodzi o to, żeby skrypt zostawiał szerokie pole do popisu dla koderów.

Co do testowania:
1. użytkownik wysyła Ktosiowi (wyznaczonemu wcześniej) cały kod.
2. Ktoś na jednym serwerze umieszcza skrypty wcześniej sprawdzone pod względem bezpieczeństwa.

Dlatego na jednym, ponieważ różne serwery mają różną konfigurację i obciążenie, a co za tym idzie, mogłyby być rozbieżne wyniki.
adwol
Cytat
Dla tych wszystkich ktorzy lubia programowac w php mam propozycje malej wojny programistyczno-intelektualnej.
Kazdy kto ma jakis pomysl na zakrecony program w ktorym mozna pokazac co sie potrafi rzuca go na forum i kto chce probuje zmierzyc sie z napisaniem go.

Pomysł niezły. Może zrobimy też php-golfa na wzór perl-golfa? :wink:
kris_
Cytat
Napisz skrypt który w jak najkrótszym czasie odgadnie określony ciąg znaków zakodowany przy pomocy funkcji md5.
Chodzi o to, żeby skrypt zostawiał szerokie pole do popisu dla koderów.

To zadanie tez nie jest takie super proste. Tzn zeby zrobic je w normalnym czasie.
A co do kryptacji i zabezpieczen to tez juz mam kilka pomyslow ;)
spenalzo
Ja nie powiedziałem, że to jest proste :-) tylko, że zostawia szerokie pole do popisu jeżeli chodzi o sposób wykonania.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.