Perl 128 114 ตัวอักษร
($a,$b)=split;$_=" "x7;until($b<2){$==$a/$b;($a,$b)=($b,$a%$b);$_.="1\e[B\e[7D$= + ---------\e[B\e[4D"}$_.="$a\n"
แต่เนื่องจากการใช้ตำแหน่งคอนโซลคุณต้องล้างคอนโซลตามลำดับก่อนเรียกใช้:
clear
perl -pe '($a,$b)=split;$_=" "x7;until($b<2){$==$a/$b;($a,$b)=($b,$a%$b);$_.=
"1\e[B\e[7D$= + ---------\e[B\e[4D"}$_.="$a\n"' <<<$'5 7 \n189 53 \n9 16 \n89 150 '
เอาท์พุท:
1
0 + ---------
1
1 + ---------
1
2 + ---------
2
1
3 + ---------
1
1 + ---------
1
1 + ---------
1
3 + ---------
1
3 + ---------
2
1
0 + ---------
1
1 + ---------
1
1 + ---------
1
3 + ---------
2
1
0 + ---------
1
1 + ---------
1
1 + ---------
1
2 + ---------
1
5 + ---------
1
1 + ---------
1
1 + ---------
2
โพสต์แรก: 128 ตัวอักษร
($a,$b)=split;$c=7;while($b>1){$==$a/$b;($a,$b)=($b,$a%$b);printf"%s1\n%${c}d + %s\n"," "x($c+=5),$=,"-"x9}printf" %${c}d\n",$=
Splitted สำหรับcut'n paste :
perl -ne '($a,$b)=split;$c=7;while($b>1){$==$a/$b;($a,$b)=($b,$a%$b);printf
"%s1\n%${c}d + %s\n"," "x($c+=5),$=,"-"x9}printf" %${c}d\n",$a' \
<<<$'5 7 \n189 53 \n9 16 \n89 150 '
จะทำให้:
1
0 + ---------
1
1 + ---------
1
2 + ---------
2
1
3 + ---------
1
1 + ---------
1
1 + ---------
1
3 + ---------
1
3 + ---------
2
1
0 + ---------
1
1 + ---------
1
1 + ---------
1
3 + ---------
2
1
0 + ---------
1
1 + ---------
1
1 + ---------
1
2 + ---------
1
5 + ---------
1
1 + ---------
1
1 + ---------
2
เหมือนกันโดยใช้ LaTeX:
perl -ne 'END{print "\\end{document}\n";};BEGIN{print "\\documentclass{article}\\pagestyle".
"{empty}\\begin{document}\n";};($a,$b)=split;$c="";print "\$ $a / $b = ";while($b>1){$==$a
/$b;($a,$b)=($b,$a%$b);printf"%s + \\frac{1}{",$=;$c.="}";}printf"%d%s\$\n\n",$a,$c' \
<<<$'5 7 \n189 53 \n9 16 \n89 150 ' >fracts.tex
pslatex fracts.tex
dvips -f -ta4 <fracts.dvi |
gs -sDEVICE=pnmraw -r600 -sOutputFile=- -q -dNOPAUSE - -c quit |
pnmcrop |
pnmscale .3 |
pnmtopng >fracts.png
0 + 89 / 250
สิ่งสุดท้ายได้