PHP, 186 184 196 ไบต์
imagecolorallocate($i=imagecreate(601,601),~0,~0,~0);for(;$a<$p=2*M_PI;)for($b=$a+=$p/=$argv[1];$b>0;)imageline($i,(1+cos($a))*$r=300,$r+$r*sin($a),$r+$r*cos($b-=$p),$r+$r*sin($b),1);imagepng($i);
เขียนภาพไปยัง STDOUT
ชำรุด
// create image with white background
imagecolorallocate($i=imagecreate(601,601),~0,~0,~0);
// loop angle A from 0 to 2*PI
for(;$a<$p=2*M_PI;)
// loop angle B from A down to 0
for($b=$a+=$p/=$argv[1];$b;) // ($a pre-increment)
// draw black line from A to B
imageline($i, // draw line
(1+cos($a))*$r=300,$r+$r*sin($a), // from A
$r+$r*cos($b-=$p),$r+$r*sin($b), // to B ($b pre-decrement)
1 // undefined color=black
);
// output
imagepng($i);
-12 ไบต์สำหรับการแก้ไข n=20
แทนที่$p=2*M_PI
ด้วย6
(-8) /=$argv[1]
ด้วย=M_PI/10
(-2) และ$b>0
ด้วย$b
(-2)
การใช้ PI / 10 ที่แน่นอนจะไม่เจ็บ ด้วย.3142
การปัดเศษข้อผิดพลาดจากรุ่น parametrized ยังคงอยู่ แต่กับM_PI/10
พวกเขาหายไปและฉันสามารถตรวจสอบ$b
(<> 0) $b>0
แทน ฉันสามารถบันทึกสองไบต์ด้วย.314
แต่นั่นจะมีการปิดจุด
ขีด จำกัด$a<6
นั้นแน่นอนเพียงพอสำหรับ 20 คะแนน
174 ไบต์สำหรับการแก้ไข n=314
imagecolorallocate($i=imagecreate(601,601),~0,~0,~0);for(;$a<314;)for($b=$a++;$b--;)imageline($i,(1+cos($a))*$r=300,$r+$r*sin($a),$r+$r*cos($b),$r+$r*sin($b),1);imagepng($i);
การใช้ 314 คะแนนจะทำให้ได้วงกลมที่มีการเติมเต็มในความละเอียดนั้น (เช่นเดียวกับ 136,140 ทุกเลขคู่ข้างต้นและทุกอย่างที่สูงกว่า 317)
n
และวาดเส้นเพื่อให้ได้n
คะแนน