@przytycki: No tak, lepiej dodać osobne 4 linijki żeby ładnie zapisać if-then-else. Faktycznie, o wiele czytelniejsze, gdy jedna pierdoła zapisana zamiast jedną linijką zajmuje 4.
@przytycki pracuję jako programista od 3 lat, hobbistycznie od 7 lat. Wolę widzieć więcej kodu, niż rozbijać pierdołę na pół ekranu, żeby zadowolić fanatycznie pragmatycznego emeryta.
No jednak jest warte, bo twierdząc iż to takie banalne sam popełniłeś błąd... Deklarujesz zmienną "i", a sprawdzasz kompletnie inną zmienną "ii". Także widzisz, nie zdałeś.
Autorze, chciałeś się pochwalić, ale niestety nie otrzymałbyś 1.4 mln dolarów. :P Liczba zmiennoprzecinkowa od 0 do 1 w reszcie z dwóch będzie zawsze tą samą liczbą (bo nigdy nie będzie większa od 2). Zrzutowana na liczbę stałoprzecinkową wyniesie zawsze 0 (zaokrągli się w dół, przedział losowania od 0 do 1 jest niedomknięty przy 1, czyli nigdy nie będzie to 1). Ostatecznie więc wszyscy pójdą w lewo.
@solarize Ty też chciałeś się pochwalić, a wyszło podobnie jak z autorem. Tu nie ma (jawnego) rzutowania, więc widząc operator modulo, można zakładać, że ten random zwraca liczby stałoprzecinkowe z przedziału od 0 do jakiegoś RAND_MAX platformy.
@LOLZOR: Tia, można też założyć, że Math.rand() wcale niczego nie losuje, tylko zawsze zwraca -83. Albo że wyrzuca wyjątek, bo potrzebuje inicjacji ziarnem. Wiadomo, że bez kontekstu przyjmuje się najpopularniejszy schemat. Nawet gdyby losowanie odbywało się do RAND_MAX platformy to potrzebny byłby dodatkowy kod upewniający się, że przedziały będą równe i ewentualnie dokonujący odpowiedniego skalowania (bo np. przy RAND_MAX = 2 mamy równie prawdopodobne wyniki 0, 1, 2, czyli większość idzie w lewo).
Zastąpię te dwa ify i deklarację zmiennej jedną linijką. Tanio - wezmę tylko 1 milion.
Odpowiedz(Math.rand()%2) ? (go right) : (go left);
Badumtss :E
@przytycki: No tak, lepiej dodać osobne 4 linijki żeby ładnie zapisać if-then-else. Faktycznie, o wiele czytelniejsze, gdy jedna pierdoła zapisana zamiast jedną linijką zajmuje 4.
@przytycki pracuję jako programista od 3 lat, hobbistycznie od 7 lat. Wolę widzieć więcej kodu, niż rozbijać pierdołę na pół ekranu, żeby zadowolić fanatycznie pragmatycznego emeryta.
@przytycki: KISS kolego
No jednak jest warte, bo twierdząc iż to takie banalne sam popełniłeś błąd... Deklarujesz zmienną "i", a sprawdzasz kompletnie inną zmienną "ii". Także widzisz, nie zdałeś.
OdpowiedzZ tego samego powodu Fizz Buzz jest tak skutecznym testem...
A na cholerę kapeli rockowej takie coś?
Odpowiedz@rzviro TSA -- Transportation Security Administration -- Amerykańska Federalna Administracja Bezpieczeństwa Transportu.
te kapele coraz dziwniejsze nazwy sobie wymyślają.
To był pomył Nowaka, czy Piekarczyka?
OdpowiedzAutorze, chciałeś się pochwalić, ale niestety nie otrzymałbyś 1.4 mln dolarów. :P Liczba zmiennoprzecinkowa od 0 do 1 w reszcie z dwóch będzie zawsze tą samą liczbą (bo nigdy nie będzie większa od 2). Zrzutowana na liczbę stałoprzecinkową wyniesie zawsze 0 (zaokrągli się w dół, przedział losowania od 0 do 1 jest niedomknięty przy 1, czyli nigdy nie będzie to 1). Ostatecznie więc wszyscy pójdą w lewo.
Odpowiedz@solarize Dokładnie. Nie tak łatwo zarobić ten pierwszy milion. :)
@solarize Ty też chciałeś się pochwalić, a wyszło podobnie jak z autorem. Tu nie ma (jawnego) rzutowania, więc widząc operator modulo, można zakładać, że ten random zwraca liczby stałoprzecinkowe z przedziału od 0 do jakiegoś RAND_MAX platformy.
@LOLZOR: Tia, można też założyć, że Math.rand() wcale niczego nie losuje, tylko zawsze zwraca -83. Albo że wyrzuca wyjątek, bo potrzebuje inicjacji ziarnem. Wiadomo, że bez kontekstu przyjmuje się najpopularniejszy schemat. Nawet gdyby losowanie odbywało się do RAND_MAX platformy to potrzebny byłby dodatkowy kod upewniający się, że przedziały będą równe i ewentualnie dokonujący odpowiedniego skalowania (bo np. przy RAND_MAX = 2 mamy równie prawdopodobne wyniki 0, 1, 2, czyli większość idzie w lewo).
A TSA twierdzi, że zaplaciło 47kS - http://fusion.net/story/287525/tsa-300-thousand-dollars-randomizer-app/
OdpowiedzNie ma czegos takiego jak 'go left' i 'go right' w programowaniu
OdpowiedzA co jest w programowaniu?
i na pewno jest tam używanie sekwencyjnego random z biblioteki standardowej :)
Odpowiedzi program się wykona jeden raz w ciągu ułamka sekundy ;) a potem?
OdpowiedzPotem pętla :)
najprostsze jest najdroższe
Odpowiedz