น่าแปลกที่ฉันไม่คิดว่าเรามีคำถามเกี่ยวกับรหัสกอล์ฟเพื่อพิจารณาว่าตัวเลขนั้นเป็นครึ่งปีหรือไม่
semiprime เป็นจำนวนธรรมชาติที่เป็นผลคูณของจำนวนเฉพาะสองตัว (ไม่จำเป็นต้องแตกต่างกัน)
เรียบง่าย แต่มีแนวคิดที่สำคัญอย่างน่าทึ่ง
รับจำนวนเต็มบวกกำหนดว่าเป็น semiprime เอาต์พุตของคุณสามารถอยู่ในรูปแบบใดก็ได้ตราบใดที่ให้เอาต์พุตเดียวกันสำหรับค่าความจริงหรือเท็จ คุณอาจจะสมมติว่าข้อมูลที่คุณป้อนมีขนาดเล็กพอที่ประสิทธิภาพหรือล้นไม่ได้เป็นปัญหา
กรณีทดสอบ:
input -> output
1 -> false
2 -> false
3 -> false
4 -> true
6 -> true
8 -> false
30 -> false (5 * 3 * 2), note it must be EXACTLY 2 (non-distinct) primes
49 -> true (7 * 7) still technically 2 primes
95 -> true
25195908475657893494027183240048398571429282126204032027777137836043662020707595556264018525880784406918290641249515082189298559149176184502808489120072844992687392807287776735971418347270261896375014971824691165077613379859095700097330459748808428401797429100642458691817195118746121515172654632282216869987549182422433637259085141865462043576798423387184774447920739934236584823824281198163815010674810451660377306056201619676256133844143603833904414952634432190114657544454178424020924616515723350778707749817125772467962926386356373289912154831438167899885040445364023527381951378636564391212010397122822120720357
-> true, and go call someone, you just cracked RSA-2048
นี่คือรหัสกอล์ฟดังนั้นจึงใช้กฎมาตรฐาน!