FAQ |
Kalender |
![]() |
#1 | |||
|
||||
Har WN som tidsfördriv
|
Ok, jag är väl en aning störd som postar det här, det är nog så långt offtopic man kan komma, men jag hade fruktansvärt roligt åt att skriva följande "obfuscerade" PHP-kod.
Vad är meningen med funktionen p() i koden nedan? Det är inte allt för svårt att lista ut om man lyckas "tyda" koden. (Men koden fungerar utmärkt att köra som den är, bortsett från att det är överdrivet otydligt skrivet.) Jag kan tipsa om att funktionen p är av intresse när man studerar heltal (matematik). ![]() Den första som gissar rätt kan kalla sig smart. Kod:
<?php echo p(3); // Vad kommer att skrivas ut, och hur ska detta resultat tolkas? function p($d){ return(int)$d!=$d ? isset($$_SERVER) : $d<2 ? function_exists('+') : (($d==(strlen($_SERVER['SCRIPT_FILENAME'])!= !($d===$d)) + preg_match("/l/", "linux")) ? ($_SERVER===$d) : d($d)); } function d($d){ for ($x = !NULL + (bool)"x"; $x*$x <= $d; $x++) { if(!($d%$x)) return !$d===$d; } return!$d===!$d; } ?> |
|||
![]() |
![]() |
![]() |
#2 | ||
|
|||
Klarade millennium-buggen
|
Citat:
Skulle inte skada med några <ENTER> och tabbar i den koden :P |
||
![]() |
![]() |
![]() |
#3 | |||
|
||||
Supermoderator
|
Funktionen P() skriver ut 1 om talet som matas in är ett primtal.
|
|||
![]() |
![]() |
![]() |
#4 | |||
|
||||
Har WN som tidsfördriv
|
Rätt! Inte illa Fredrik
![]() |
|||
![]() |
![]() |
![]() |
#5 | |||
|
||||
Har WN som tidsfördriv
|
Citat:
![]() Så här såg min funktion ut innan jag förvrängde koden: Kod:
function is_prime($d) { if ((int)$d != $d) { return false; } else { if ($d<2) { return false; } else { if ($d==2) { return true; } else { $sqrt = sqrt($d); $x=1; while (++$x < $sqrt+1) { if ($d % $x == 0) { return false; } } return true; } } } } EDIT: Så här såg det ut innan jag drog till med alla onödigheter: Kod:
for($i=0;$i<1000;$i++){print(p($i)?$i.'<br />':NULL);} function p($d){return(int)$d!=$d?0:$d<2?0:($d==2?1:d($d));} function d($d){for($x=2;$x*$x<=$d;$x++){if(!($d%$x))return 0;}return 1;} |
|||
![]() |
![]() |
![]() |
#6 | ||
|
|||
Supermoderator
|
Kod:
for($i=1;$i<1000;print($p==false?"":$i."\n"),$i+=2,$p=true){for($j=2;$j<$i;$j++)$p=$i%$j==0?$p=false:$p;}
__________________
www.ip2nation.com (ip till land) |
||
![]() |
![]() |
![]() |
#7 | |||
|
||||
Har WN som tidsfördriv
|
Citat:
![]() |
|||
![]() |
![]() |
![]() |
#8 | ||
|
|||
Supermoderator
|
Citat:
__________________
www.ip2nation.com (ip till land) |
||
![]() |
![]() |
![]() |
#9 | ||
|
|||
Mycket flitig postare
|
Gissa vad denna gör då:
<? function skrivUtnamn($namn) { echo $namn; } skrivUtnamn('kalle'); ?> Den som får fel är en nöt. -Martin |
||
![]() |
![]() |
![]() |
#10 | ||
|
|||
Mycket flitig postare
|
Om du gillar sånt ska du titta på "orginalet": http://www.ioccc.org/
Kolla koden för en av vinnarna 1994: dodsond1 (http://www.de.ioccc.org/years.html) Ett prgram som spelar othello och där koden ser ut som ett othellobräde... |
||
![]() |
![]() |
Svara |
|
|