เขียนโปรแกรมที่จะทดสอบ primality ของตัวเลขที่ระบุและให้ผลลัพธ์เป็นค่าบูลีน (True is prime) การทดสอบที่สำคัญของคุณสามารถ (แต่ไม่จำเป็นต้อง) ถูกต้องสำหรับหมายเลข 1
นี่คือรายการที่จับต้องได้: โปรแกรมของคุณต้องรวมเป็นจำนวนเฉพาะ แปลงอักขระทุกตัว (รวมถึงช่องว่าง) เป็นค่า Unicode / ASCII ( ตาราง ) จากนั้นเพิ่มตัวเลขทั้งหมดเข้าด้วยกันเพื่อรับผลรวมของโปรแกรมของคุณ
ตัวอย่างเช่นลองใช้โปรแกรมที่ไม่ค่อยดีนักที่ฉันเขียนใน Python 3.3:
q=None
y=int(input())
for x in range(2,int(y**0.5)+1):
if y%x==0:
q=False
if not q:
q=True
print(q)
หากคุณแปลงอักขระทั้งหมดเป็นค่า Unicode / ASCII ที่เกี่ยวข้องคุณจะได้รับ:
113 61 78 111 110 101 10 121 61 105 110 116 40 105 110 112 117 116 40 41 41 10 102 111 114 32 120 32 105 110 32 114 97 110 103 101 40 50 44 105 110 116 40 121 42 42 48 46 53 41 43 49 41 58 10 32 32 32 32 105 102 32 121 37 120 61 61 48 58 10 32 32 32 32 32 32 32 32 113 61 70 97 108 115 101 10 105 102 32 110 111 116 32 113 58 10 32 32 32 32 113 61 84 114 117 101 10 112 114 105 110 116 40 113 41
จากนั้นคุณสามารถค้นหาผลรวมของตัวเลขเหล่านั้นด้วยตนเองหรือด้วยโปรแกรมของคุณเอง โปรแกรมเฉพาะนี้รวมไปถึง 8293 ซึ่งเป็นจำนวนเฉพาะ
แน่นอนว่านี่คือ Code Golf ดังนั้นยิ่งขนาดเล็กลงคุณสามารถทำให้โปรแกรมของคุณดีขึ้นได้ ตามที่ผู้ใช้คนอื่น ๆ ชี้ให้เห็นโปรแกรมนี้ไม่ได้กอล์ฟมาก
กฎไม่กี่:
อินพุตที่ถูกต้องประกอบด้วย STDIN และการแจ้งเตือน (ไม่มีฟังก์ชั่นมันเป็นเพียงวิธีเพิ่มรหัสพิเศษฟรี) อนุญาตให้เว้นวรรค แต่เฉพาะในกรณีที่จำเป็นต่อการทำงานของโปรแกรมของคุณ ผลลัพธ์จะต้องเป็นผลลัพธ์ไม่ใช่แค่เก็บไว้ในตัวแปรหรือส่งคืน (ใช้ print, STDOUT และอื่น ๆ )
สามารถใช้แฟล็กและควรนับอย่างแท้จริงไม่ขยาย ไม่อนุญาตให้แสดงความคิดเห็น สำหรับอักขระที่ไม่ใช่ ASCII ควรกำหนดให้กับค่าในการเข้ารหัสตามลำดับ
ตรวจสอบให้แน่ใจว่ารายการขนาดโปรแกรมของคุณและผลรวมของโปรแกรม ฉันจะทดสอบเพื่อให้แน่ใจว่าโปรแกรมนั้นถูกต้อง
โชคดี!
นี่เป็นตัวอย่างข้อมูลเพื่อนับผลรวมของโปรแกรมของคุณและตรวจสอบว่าเป็นข้อมูลที่ดีหรือไม่: