커피 스크립트 377B 352B
나는 커피 스크립트를 작성하는 것이 더럽다고 생각하지만 python3에 대한 괜찮은 그림 패키지를 찾을 수 없습니다 :-/
Q=(n)->X=(D=document).body.appendChild(C=D.createElement('Canvas')).getContext('2d');C.width=C.height=400;M=Math;T=[[175,400,50,i=0]];S=M.sin;C=M.cos;while [x,y,l,a]=T[i++]
X.save();X.translate x,y;X.rotate -a;X.fillRect 0,-l,l,l;X.restore();T.push [e=x-l*S(a),f=y-l*C(a),g=l*C(b=M.random()*M.PI/2),d=a+b],[e+g*C(d),f-g*S(d),l*S(b),d-M.PI/2] if i<2**n
자바 스크립트 393B 385B
자바 스크립트에서 약간 더 예쁘고 for-loop가 훨씬 행복하지만 [x, y, z] = A 구문이 없으면 커피 스크립트를 이길만큼 짧게 만들 수 없습니다.
function Q(n){X=(D=document).body.appendChild(C=D.createElement('Canvas')).getContext('2d');C.width=C.height=600;M=Math;T=[[275,400,50,i=0]];while(A=T[i++]){X.save();X.translate(x=A[0],y=A[1]);X.rotate(-(a=A[3]));X.fillRect(0,-(l=A[2]),l,l);X.restore();S=M.sin;C=M.cos;i<M.pow(2,n)&&T.push([e=x-l*S(a),f=y-l*C(a),g=l*C(b=M.random()*M.PI/2),d=a+b],[e+g*C(d),f-g*S(d),l*S(b),d-M.PI/2])}}
내가 조금 galled라고 말하면 이것은 수학 솔루션보다 거의 두 배나 길다 :-/ 실제로 그것을 보아라 : http://jsfiddle.net/FK2NX/3/