ตัวเลขที่สำคัญทำให้ผู้คนหลงใหล 2300 ปีที่แล้ว Euclid เขียนใน "Elements" ของเขา
จำนวนเฉพาะคือสิ่งที่วัดโดยหน่วยเดียว
ซึ่งหมายความว่านายกสามารถหารด้วย1
(หรือด้วยตัวเอง) เท่านั้น
ผู้คนมักจะมองหาความสัมพันธ์ระหว่างจำนวนเฉพาะและเกิดขึ้นกับบางสิ่งที่แปลก (เช่นใน "น่าสนใจ")
ตัวอย่างเช่นนายก Sophie Germainเป็นนายกp
ที่2*p+1
สำคัญเช่นกัน
นายกปลอดภัยเป็นนายกp
ที่(p-1)/2
ยังเป็นนายกรัฐมนตรีซึ่งเป็นว่าสภาพข้างหลังของนายกโซฟีต์แชร์กแมง
สิ่งเหล่านี้เกี่ยวข้องกับสิ่งที่เรากำลังมองหาในการท้าทายนี้
ห่วงโซ่คันนิงแฮมของประเภทที่เป็นชุดของจำนวนเฉพาะที่องค์ประกอบยกเว้นคนสุดท้ายทุกคนจะเป็นนายกโซฟีต์แชร์กแมงและองค์ประกอบยกเว้นคนแรกที่ทุกคนเป็นนายกปลอดภัย จำนวนขององค์ประกอบในครั้งนี้มีห่วงโซ่ที่เรียกว่ามันยาว
ซึ่งหมายความว่าเราเริ่มต้นด้วยการลากและคำนวณp
q=2*p+1
ถ้าq
เป็นไพร์มด้วยเรามี Cunnigham chain ของ type I ที่มีความยาว 2 จากนั้นเราจะทดสอบ2*q+1
และต่อไปเรื่อย ๆ จนกระทั่งจำนวนที่สร้างขึ้นถัดไปเป็นคอมโพสิต
โซ่คันนิงแฮมประเภทIIสร้างขึ้นตามหลักการเดียวกันเกือบทั้งหมดความแตกต่างเพียงอย่างเดียวคือเราตรวจสอบ2*p-1
แต่ละขั้นตอน
โซ่คันนิงแฮมสามารถมีความยาว 1ซึ่งหมายความว่า 2 * p + 1 หรือ 2 * p-1 ไม่สำคัญ เราไม่ได้สนใจในสิ่งเหล่านี้
ตัวอย่างบางส่วนของ Cunningham chains
2
เริ่มสายโซ่ประเภทที่ฉันมีความยาว 5
2, 5, 11, 23, 47
หมายเลขต่อไปที่สร้างขึ้นจะ95
ไม่เป็นจำนวนเฉพาะ
นอกจากนี้ยังบอกเราว่า5
, 11
, 23
และ47
ไม่ได้เริ่มต้นห่วงโซ่ของชนิดใด ๆฉันเพราะมันจะมีองค์ประกอบ preceeding
2
ก็เริ่มสายโซ่ของประเภทที่สองของความยาว 3
2, 3, 5
ถัดไปจะเป็น9
ซึ่งไม่สำคัญ
มาลอง11
พิมพ์II กันก่อน (เราแยกออกจากType Iก่อนหน้านี้)
ดี21
จะเป็นอย่างไรต่อไปซึ่งไม่ได้เป็นนายกดังนั้นเราจะมีความยาว 1 สำหรับว่า "ลูกโซ่" ซึ่งเราจะไม่นับรวมในความท้าทายนี้
ท้าทาย
เขียนโปรแกรมหรือฟังก์ชั่นที่ได้รับจำนวน
n
เป็น input เขียน / ผลตอบแทนจำนวนเริ่มต้นของการที่ nห่วงโซ่คันนิงแฮมของประเภท I หรือ IIของอย่างน้อยยาว 2 , ตามด้วยช่องว่างตามด้วยประเภทของห่วงโซ่มันเริ่มต้น ( ฉันหรือII ) ตามด้วยเครื่องหมายจุดคู่ตามด้วยความยาวของห่วงโซ่ประเภทนั้น ในกรณีที่นายกเริ่มต้นโซ่ทั้งสองประเภท (ประเภทที่ 1 และประเภทที่สอง) โซ่ของประเภทที่ 1 จะถูกนับก่อนตัวอย่าง:
2 I:5
โปรดจำไว้ว่าn
อาจเป็นส่วนหนึ่งของห่วงโซ่เริ่มต้นก่อนหน้านี้ทุกประเภทซึ่งในกรณีนี้ไม่ควรพิจารณาจำนวนเริ่มต้นของห่วงโซ่ประเภทนั้น
เรามาดูกันว่ามันจะเริ่มอย่างไร
2
เราเริ่มต้นด้วย 2
เนื่องจากเป็นครั้งแรกที่สำคัญในทุกสิ่งที่เราสามารถมั่นใจได้ว่ามีความเป็นห่วงโซ่ไม่เริ่มต้นด้วยที่สำคัญที่ต่ำกว่าที่มี จำนวนต่อไปในห่วงโซ่ของประเภทฉันจะเป็น
มีความสำคัญดังนั้นเราจึงมีสายโซ่ที่มีความยาวอย่างน้อย 2 อยู่แล้ว
เรานับว่าเป็นห่วงโซ่แรก แล้ว Type II ล่ะ หมายเลขถัดไปจะเป็น มีความสำคัญดังนั้นโซ่อย่างน้อย 2 ตัวสำหรับประเภท II เช่นกัน
เรานับว่าเป็นห่วงโซ่ที่สอง และเรากำลังทำเพื่อ2*2+1 == 5
5
2*2-1 == 3
3
2
3
ที่สำคัญต่อไปคือ ที่นี่เราควรตรวจสอบว่ามันอยู่ในห่วงโซ่ที่เริ่มต้นที่ต่ำกว่า
ตรวจสอบสำหรับประเภท (3-1)/2 == 1
I: 1
ไม่สำคัญดังนั้น 3 อาจเป็นจุดเริ่มต้นของสายโซ่ประเภท I.
ลองตรวจสอบดู 3*2+1 == 7
ถัดไปจะเป็น 7
มีความสำคัญดังนั้นเราจึงมีสายโซ่ชนิดที่ความยาวอย่างน้อย 2 เรานับเป็นห่วงโซ่ที่สาม
ตอนนี้เราตรวจสอบว่า3
ปรากฏในห่วงโซ่ประเภท II ที่เริ่มต้นต่ำกว่า
(3+1)/2 == 2
. 2
มีความสำคัญดังนั้น 3 จึงไม่สามารถถือเป็นหมายเลขเริ่มต้นสำหรับสายโซ่ของประเภท II ดังนั้นนี่จะไม่ถูกนับแม้ว่าจำนวนถัดไปหลังจากนั้น3
ในห่วงโซ่นี้ซึ่งจะเป็น5
เป็นนายกรัฐมนตรี (แน่นอนเรารู้แล้วว่าและคุณสามารถและควรคิดเกี่ยวกับวิธีการตรวจสอบเหล่านี้ของคุณเอง)
และเพื่อให้เราตรวจสอบสำหรับ5
, 7
, 11
และอื่น ๆ นับจนกว่าเราจะพบว่าห่วงโซ่คันนิงแฮม n ของอย่างน้อยยาว 2
จากนั้น (หรือบางเวลาก่อนหน้านี้;)
) เราต้องกำหนดความยาวทั้งหมดของ chain ที่เราพบและพิมพ์ผลลัพธ์ในรูปแบบที่กล่าวถึงก่อนหน้า
โดยวิธีการในการทดสอบของฉันฉันไม่ได้พบที่สำคัญใด ๆ นอกเหนือจากที่เริ่มต้นทั้งสองประเภทของเครือข่ายที่มีความยาวมากขึ้นกว่า2
1
ตัวอย่างอินพุต / เอาท์พุต
อินพุต
1
เอาท์พุต
2 I:5
อินพุต
10
เอาท์พุต
79 II:3
อินพุต
99
เอาท์พุต
2129 I:2
เอาต์พุตสำหรับอินพุต 1..20
2 I: 5 2 II: 3 3 I: 2 7 II: 2 19 II: 3 29 I: 2 31 II: 2 41 I: 3 53 I: 2 79 II: 3 89 I: 6 97 II: 2 113 I: 2 131 I: 2 139 II: 2 173 ฉัน: 2 191 I: 2 199 II: 2 211 II: 2 229 II: 2
รายชื่อของเอาท์พุท 5000 ครั้งแรกที่สามารถพบได้ที่นี่
นี่คือรหัสกอล์ฟ ช่องว่างโดยพลการได้รับอนุญาตในการส่งออก แต่ประเภทและตัวเลขควรคั่นด้วยช่องว่างเดียวและลำไส้ใหญ่ตามที่เห็นในตัวอย่าง การใช้ช่องโหว่ใด ๆ ที่ไม่ได้รับอนุญาตโดยเฉพาะอย่างยิ่งได้รับผลจากเว็บจะไม่ได้รับอนุญาต
โชคดี :)
:)
2
ความยาวสายโซ่คู่ที่มากกว่า 1 นี่คือการพิสูจน์โดยการกำจัด
2
และ3
เป็นเพียงช่วงเวลาเดียวp
ที่ทั้งคู่2p-1
และ2p+1
เป็นช่วงเวลาดังนั้นจึง2
เป็นไพรม์เดียวที่เริ่มต้นเชน Cunningham ที่ไม่สำคัญของทั้งสองประเภท