Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

4 Stron V  < 1 2 3 4 >  
Reply to this topicStart new topic
> Quiz PHP, pytania i odpowiedzi
Wicepsik
post
Post #21





Grupa: Zarejestrowani
Postów: 1 575
Pomógł: 299
Dołączył: 26.03.2009

Ostrzeżenie: (20%)
X----


Cytat(devnul @ 21.08.2010, 17:40:03 ) *
@Wicepsik: Twoje rozwiązanie działa niezbyt dokładnie (bramowanie jest krzywe) no i dodatkowo brakuje Ci ostatniej pustej kolumny

http://nullcode.pl/zadanie-2-ilo-t80.html?...c4bea28d97#p347
Cytat
Nie, ostatnia kolumna tez musi byc ponumerowana
przypadek sprawił że źle to wyszło na screenie i ktoś wywnioskował że skrajna prawa ma być pusta - nie , ma być zapełniona liczbami jak każda inna (IMG:style_emoticons/default/smile.gif)


Ten post edytował Wicepsik 21.08.2010, 16:48:08
Go to the top of the page
+Quote Post
devnul
post
Post #22





Grupa: Zarejestrowani
Postów: 1 470
Pomógł: 75
Dołączył: 21.09.2005
Skąd: że znowu

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


@Wicepsik: nie doczytałem tam - uznałem że treść zadania jest poprawna, w takim razie zwracam honor co do tej pustej kolumny jednak i tak masz 1x za dużo w pierwszym wierszu obramowania oraz drobny błąd logiczny powodujący że całość rozsypie się przy 5 cyfrowych liczbach no i nigdzie nie pobierasz parametrów wejścia tak jak i zupełnie zbędna jest ta funkcja
poprawiony kod w takim razie 144 znaki i nadal da się uprościć (IMG:style_emoticons/default/winksmiley.jpg)
  1. <?list(,$a,$b)=$argv;echo$c=str_repeat(x,$a*6+1)."\n";for(;$i<$b*$a;$i++)echo x.str_pad($i%$a*$b+1+floor($i/$a),5,' ').($i%$a==$a-1?"x\n$c":'');


//edit: za szybko wkleiłem i wkradł się błąd

Ten post edytował devnul 21.08.2010, 17:14:09
Go to the top of the page
+Quote Post
#luq
post
Post #23





Grupa: Zarejestrowani
Postów: 589
Pomógł: 91
Dołączył: 22.05.2008
Skąd: Gliwice

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


Błąd (IMG:style_emoticons/default/tongue.gif)

(IMG:http://images50.fotosik.pl/329/fdc24ea68bde50eemed.jpg)

No właśnie, a ja u siebie list() nie mam (IMG:style_emoticons/default/sciana.gif) i operuje jak idiota na $argv[1], $argv[2] bo przypisanie tego do jednoliterowych zmiennych daje więcej kodu...
A trick, że nie trzeba zamykać kodu php:
Kod
?>

widziałem w rozwiązaniach innych osób, wcześniej o tym nie pomyślałem nawet i to też mi dało +2 znaki (IMG:style_emoticons/default/dry.gif)

@edit po poprawieniu kodu:
jeszcze masz w ostatnim wierszu "goły" X który widać zresztą no powyższym screenie

Ten post edytował #luq 21.08.2010, 17:04:19
Go to the top of the page
+Quote Post
devnul
post
Post #24





Grupa: Zarejestrowani
Postów: 1 470
Pomógł: 75
Dołączył: 21.09.2005
Skąd: że znowu

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


SOA - nie wiem na czym to dopalasz ale ewidentnie mój kod działa poprawnie http://codepad.org/HYUIPftw - dodałem tylko na początku zdefiniowanie argumentów bo nie ma tam opcji zdefiniowania przekazywanych argumentów
Go to the top of the page
+Quote Post
#luq
post
Post #25





Grupa: Zarejestrowani
Postów: 589
Pomógł: 91
Dołączył: 22.05.2008
Skąd: Gliwice

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


Tak, teraz działa, edytowałeś swój post 2 razy? Zresztą nie ważne...
144 znaki. You are (IMG:style_emoticons/default/Rkingsmiley.png)
Go to the top of the page
+Quote Post
erix
post
Post #26





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów





Ustaw czasem raportowanie błędów na E_STRICT. (IMG:style_emoticons/default/winksmiley.jpg)
Go to the top of the page
+Quote Post
devnul
post
Post #27





Grupa: Zarejestrowani
Postów: 1 470
Pomógł: 75
Dołączył: 21.09.2005
Skąd: że znowu

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


@erix: ja o tym wiem - jednak domyślnie jest ono wyłączone, poza tym założeniem jest stworzenie działającego kodu a ten działa, poza tym program odpalamy w konsoli a tam błędy domyślnie nie są wypluwane więc... (IMG:style_emoticons/default/winksmiley.jpg)

//edit:

  1. <?list(,$a,$b)=$argv;echo$c=str_repeat(x,$a*6)."x\n";for(;$i<$b*$a;$i++)echo x.str_pad($i%$a*$b+1+floor($i/$a),5,' ').($i%$a<$a-1?'':"x\n$c");
po drobnych modyfikacjach 142

Ten post edytował devnul 21.08.2010, 18:34:41
Go to the top of the page
+Quote Post
Fifi209
post
Post #28





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

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


To może ja zadam coś:
Napisz kod, który zamieni liczbę 123 na odpowiednik w systemie binarnym i wyrzuci wynik na ekran.

Mój rekord: 82 znaki.

@edit
nie wolno używać gotowych funkcji do zmiany na system binarny

Ten post edytował fifi209 21.08.2010, 23:37:40
Go to the top of the page
+Quote Post
devnul
post
Post #29





Grupa: Zarejestrowani
Postów: 1 470
Pomógł: 75
Dołączył: 21.09.2005
Skąd: że znowu

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


@fifi209: no proszę Cię, zaraz ktoś to przeniesie do działu humor
  1. echo decbin(123);
jak to można nazwać programem, to jest 1 (słownie: JEDNA) instrukcja. cmon...

Ten post edytował devnul 21.08.2010, 23:34:48
Go to the top of the page
+Quote Post
Fifi209
post
Post #30





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

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


Cytat(devnul @ 22.08.2010, 00:34:35 ) *
@fifi209: no proszę Cię, zaraz ktoś to przeniesie do działu humor
  1. echo decbin(123);
jak to można nazwać programem, to jest 1 (słownie: JEDNA) instrukcja. cmon...

chyba logiczne że musisz napisać swój kod nie używając wbudowanych funkcji do zamiany na system binarny

dodałem wzmiankę w pytaniu ;]

Ten post edytował fifi209 21.08.2010, 23:38:25
Go to the top of the page
+Quote Post
Wicepsik
post
Post #31





Grupa: Zarejestrowani
Postów: 1 575
Pomógł: 299
Dołączył: 26.03.2009

Ostrzeżenie: (20%)
X----


63

  1. <?$l=123;while($l>0){$p=(($l%2)?1:0).$p;$l=floor($l/2);}echo$p;


Ten post edytował Wicepsik 21.08.2010, 23:51:54
Go to the top of the page
+Quote Post
Fifi209
post
Post #32





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

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


Może i mniej, ale zły wynik daje (IMG:style_emoticons/default/winksmiley.jpg)
Go to the top of the page
+Quote Post
devnul
post
Post #33





Grupa: Zarejestrowani
Postów: 1 470
Pomógł: 75
Dołączył: 21.09.2005
Skąd: że znowu

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


moje 62 nieco inną metodą i dobry wynik ale da się usprawnić
  1. <?$n=123;for ($l=1;$l<=$n;$l*=2)$b=(($l&$n)==$l?1:0).$b;echo$b;


//edit:
również 62 korzystając ze zmienionej wersji kolegi Wicepsika
  1. <?for($n=$l=123;$l>0;$l=floor($l/2))$b=(($l%2)?1:0).$b;echo$b;
a u siebie w kodzie to się zapędził i 1 z 0 miejscami wystarczy zamienić przy podstawianiu

Ten post edytował devnul 21.08.2010, 23:59:45
Go to the top of the page
+Quote Post
Fifi209
post
Post #34





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

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


devnull Twój wynik jest dobry. Póki co jesteś na prowadzeniu (IMG:style_emoticons/default/winksmiley.jpg)
wicepsik - po edycji postu Twój kod daje dobry wynik

Ten post edytował fifi209 21.08.2010, 23:58:00
Go to the top of the page
+Quote Post
devnul
post
Post #35





Grupa: Zarejestrowani
Postów: 1 470
Pomógł: 75
Dołączył: 21.09.2005
Skąd: że znowu

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


wow fifi dzięki za uświadomienie - no jakbyś za mnie nie sprawdził to bym nie zauważył że mój wynik jest dobry (IMG:style_emoticons/default/winksmiley.jpg)
i jedna uwaga techniczna gdzie wy tam widzicie drugie L? jest devnul <------JEDNO L, nie pierwszy raz w tym wątku zresztą

  1. <?for($l=123;$l>0;$l=floor($l/2))$b=(($l%2)?1:0).$b;echo$b;

lekko podrasowana wersja tego co wyżej 59 znaków

//edit:
  1. <?for($l=123;$l>0;$l=$l>>1)$b=(($l%2)?1:0).$b;echo$b;

53 i coś mi mówi że więcej z tego nie wycisnę


//edit2:
a jednak (IMG:style_emoticons/default/tongue.gif) 43 znaki
  1. <?for($l=123;$l;$l>>=1)$b=($l%2).$b;echo$b;

teraz to już naprawdę się uprościć nie da

Ten post edytował devnul 22.08.2010, 02:28:54
Go to the top of the page
+Quote Post
cojack
post
Post #36





Grupa: Zarejestrowani
Postów: 898
Pomógł: 80
Dołączył: 31.05.2008

Ostrzeżenie: (20%)
X----


To miałbyć Quiz PHP a nie ścigać się kto napisze krótszy program, głupi jesteście i tyle, nawet mi się czytać tych durnych postół devnulla i fifiego którzy rywalizują pomiędzy sobą, kto jest lepszy, kto napisze krótszy kod.
Go to the top of the page
+Quote Post
kwiateusz
post
Post #37


Admin Techniczny


Grupa: Administratorzy
Postów: 2 072
Pomógł: 93
Dołączył: 5.07.2005




ja to zawsze myślałem że faceci się przechwalają który ma dłuższego, a tu wrecz odwrotnie... Kto ma krótszego ten jest maczo

p.s. krótszego koda oczywiście (IMG:style_emoticons/default/winksmiley.jpg)
Go to the top of the page
+Quote Post
devnul
post
Post #38





Grupa: Zarejestrowani
Postów: 1 470
Pomógł: 75
Dołączył: 21.09.2005
Skąd: że znowu

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


@cojack: nie przesadzaj, zacząłeś quiz pytaniem na które nie znałeś odpowiedzi

@kwiateusz: ja zawsze powtarzam że nie liczy się długość a jakość (IMG:style_emoticons/default/tongue.gif)
Go to the top of the page
+Quote Post
flashdev
post
Post #39





Grupa: Zarejestrowani
Postów: 812
Pomógł: 117
Dołączył: 2.12.2008

Ostrzeżenie: (10%)
X----


Cytat(devnul @ 22.08.2010, 01:00:30 ) *
[...]
  1. <?for($l=123;$l;$l>>=1)$b=($l%2).$b;echo$b;

teraz to już naprawdę się uprościć nie da


  1. <?for($l=123;$l;$l>>=1)echo$l&1;
  2. // 32
Go to the top of the page
+Quote Post
devnul
post
Post #40





Grupa: Zarejestrowani
Postów: 1 470
Pomógł: 75
Dołączył: 21.09.2005
Skąd: że znowu

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


@flashdev: genialne, szkoda że wynik daje od tyłu, no ale działa, kto by się tam kolejnością bitów przejmował (IMG:style_emoticons/default/winksmiley.jpg)
Go to the top of the page
+Quote Post

4 Stron V  < 1 2 3 4 >
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: 29.12.2025 - 04:27