Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu der Vergleichsansicht

Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung
treffen:002_codegolfing [2019/04/21 13:36]
max
treffen:002_codegolfing [2019/04/21 13:37] (aktuell)
max
Zeile 51: Zeile 51:
 ==== Lösungen ==== ==== Lösungen ====
 === Max (Perl) 470B === === Max (Perl) 470B ===
 +{{ :​treffen:​document.pdf |Beschreibung.pdf}}
 <​code>​ <​code>​
 use POSIX;​$n=$ARGV[0];​$d=ceil sqrt$n;sub v($$){$_[$_[0]<​$_[1]]}sub c($$){$_[$_[0]>​$_[1]]}sub len{1+length@_[0]}sub g{($x,​$y)=@_;​$s=0;​$l=c(c($x,​$y),​$d-v($x,​$y)-1);​$s+=v(1,​4*$d-8*$_-4)for 0..$l-1;​$u=$d-2*$l;​$a=$y-$l;​$b=$x-$l;​$s+=$a==0?​($b+1):​$b==$u-1?​($u+$a):​$a==$u-1?​(3*$u-$b-2):​$b==0?​(4*$u-$a-3):​0;​$s>​$n?​0:​$s;​}for(0..$d-1){$z=$_;​for(0..$d-1){$q=$_;​$m=0;​$g=g($q,​$_),​$m = $g>​$m?​$g:​$m for 0..$d-1;​$j=g($_,​$z);​print"​-"​x(($_!=0)+len($m)-len($j));​print$j!=0?​$j:'​-';​}print$/;​} use POSIX;​$n=$ARGV[0];​$d=ceil sqrt$n;sub v($$){$_[$_[0]<​$_[1]]}sub c($$){$_[$_[0]>​$_[1]]}sub len{1+length@_[0]}sub g{($x,​$y)=@_;​$s=0;​$l=c(c($x,​$y),​$d-v($x,​$y)-1);​$s+=v(1,​4*$d-8*$_-4)for 0..$l-1;​$u=$d-2*$l;​$a=$y-$l;​$b=$x-$l;​$s+=$a==0?​($b+1):​$b==$u-1?​($u+$a):​$a==$u-1?​(3*$u-$b-2):​$b==0?​(4*$u-$a-3):​0;​$s>​$n?​0:​$s;​}for(0..$d-1){$z=$_;​for(0..$d-1){$q=$_;​$m=0;​$g=g($q,​$_),​$m = $g>​$m?​$g:​$m for 0..$d-1;​$j=g($_,​$z);​print"​-"​x(($_!=0)+len($m)-len($j));​print$j!=0?​$j:'​-';​}print$/;​}
  • treffen/002_codegolfing.txt
  • Zuletzt geändert: 2019/04/21 13:37
  • von max