โปรแกรมที่จะหาจำนวนเฉพาะถัดไป
บทนำ: คุณได้รับความเสียหายจากการไหลของเวลาโดยไม่ตั้งใจด้วยอุปกรณ์ที่คุณสร้างขึ้นเพื่อความสนุกสนานซึ่งกลายเป็นเครื่องย้อนเวลา เป็นผลให้คุณได้ผลักดันไปสู่อนาคตไกล คุณตระหนักว่าการคำนวณพลังการประมวลผลและคอมพิวเตอร์ทั่วไปได้รับการพัฒนาตามจำนวนเงินขนาดใหญ่จำนวนอนันต์จะแม่นยำ ดังนั้นคุณคว้าคอมพิวเตอร์ด้วยหน่วยความจำที่ไม่มีที่สิ้นสุดและพลังการประมวลผล คุณไม่มีความคิดว่ามันจะมีหน่วยความจำที่ไม่มีที่สิ้นสุดและพลังการประมวลผลที่ไม่มีที่สิ้นสุด แต่คุณเพียงแค่ยอมรับและกลับสู่ปัจจุบัน ท้าทาย: คุณได้ยินมาว่าคนที่ค้นพบนายกที่ใหญ่ที่สุดในปัจจุบัน2^74,207,281 − 1ได้รับเงิน $ 100,000 คุณตัดสินใจที่จะสร้างโปรแกรมที่ค้นหานายกคนต่อไปเนื่องจากคุณต้องการคืนเงินที่คุณใช้ไปกับคอมพิวเตอร์ คุณสร้างหมายเลขที่รับข้อมูลจากหมายเลขและค้นหาหมายเลขเฉพาะถัดไปไม่ว่าจะด้วยการ bruteforcing หรือวิธีอื่นใด คำอธิบาย: คุณมีเครื่องสมมุติที่มีหน่วยความจำไม่สิ้นสุดและกำลังประมวลผล โปรแกรมของคุณต้องไม่ถูก จำกัด (เช่น: int ของ C # สามารถเก็บได้จาก-2,147,483,648ถึง2,147,483,647) โปรแกรมของคุณจะต้องสามารถจัดเก็บและทำงานได้กับทุกขนาดทุกขนาด คุณมีทรัพยากรที่ไม่มีที่สิ้นสุดดังนั้นคุณไม่ควรสนใจว่าจะมีหน่วยความจำไม่เพียงพอหากคุณอนุญาต ตัวอย่าง I / O: อินพุต: ไพรม์ที่ใหญ่ที่สุดที่ค้นพบในปัจจุบันที่มี 22,338,618 หลัก เอาท์พุท: ตรงไปข้างหน้านายกรัฐมนตรี เห็นได้ชัดว่าคุณไม่จำเป็นต้องพิสูจน์ว่ามันใช้งานได้เพราะต้องใช้เวลาในการคำนวณในเครื่องทางกายภาพ แต่ถ้าคุณย้ายโปรแกรมของคุณไปยังเครื่องสมมุติที่มีพลังการประมวลผล / หน่วยความจำไม่สิ้นสุดก็ควรคำนวณทันที การค้นหานายกคนถัดไปและตรวจสอบว่าตัวเลขเป็นนายกหรือไม่นั้นเป็นสองสิ่งที่แตกต่างอย่างสิ้นเชิง