Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

Mersenne Prime Number ใน C ++


คำอธิบาย

ในทางคณิตศาสตร์ จำนวนเฉพาะของ Mersenne เป็นจำนวนเฉพาะที่น้อยกว่ากำลังสอง นั่นคือ เป็นจำนวนเฉพาะของรูปแบบ Mn =2n − 1 สำหรับจำนวนเต็ม n บางตัว

เขียนโปรแกรม C++ เพื่อพิมพ์ Mersenne Primes ทั้งหมดที่มีขนาดเล็กกว่าอินพุตจำนวนเต็มบวกอินพุต n

เลขชี้กำลัง n ซึ่งระบุจำนวนเฉพาะของ Mersenne คือ 2, 3, 5, 7,... และจำนวนเฉพาะของ Mersenne ที่ได้คือ 3, 7, 31, 127

อัลกอริทึม

<ก่อน>1. สร้างจำนวนเฉพาะทั้งหมดที่น้อยกว่าหรือเท่ากับจำนวนที่กำหนด n2 วนซ้ำตัวเลขทั้งหมดของแบบฟอร์ม 2n-1 และตรวจสอบว่าเป็นจำนวนเฉพาะหรือไม่

ตัวอย่าง

#include #include using เนมสเปซ std;void generatePrimes(bool *primes, int n){ เติม (primes, จำนวนเฉพาะ + n + 1, จริง); สำหรับ (int p =2; p * p <=n; ++p) { if (primes [p] ==true) { สำหรับ (int i =p * 2; i <=n; i +=p) { ไพรม์[i] =เท็จ; } } }}เป็นโมฆะ mersennePrimes(int n){ บูลไพรม์[n + 1]; สร้างPrimes(primes, n); สำหรับ (int i =2; ((1 < 

ผลลัพธ์

เมื่อคุณคอมไพล์และรันโปรแกรมข้างต้น มันสร้างผลลัพธ์ต่อไปนี้ -

Mersenne กำหนดตัวเลขจนถึง 1003 7 31