Số Mersenne biểu diễn được dưới dạng 2^n-1. Số nguyên tố Mersenne thỏa mãn 2 tính chất là số nguyên tố và là số Mersenne. Ví dụ: 31=2^5-1; 3=2^2-1. Viết hàm kiểm tra số nguyên tố Mersenne.
#include<iostream>
using namespace std;
#include<math.h>
int nguyento(int n){
if (n < 2) return 0;
int k = sqrt((float)n);
for (int i = 2; i <= k;i++)
if (n%i == 0)
return 0;
return 1;
}
int Mersenne(int n){
int i = 0;
n += 1;
while (n > pow(2, i))
{
i++;
}
if (n == pow(2, i))
return 1;
else return 0;
}
int main(){
int n;
cout << "Nhap vao 1 so n:";
cin >> n;
Mersenne(n);
if (Mersenne(n) && nguyento(n))
cout << "\n Day la so nguyen to Mersenne!";
else cout << "\n Day khong phai so nguyen to Mersenne!";
system("pause");
}
Thứ Ba, 19 tháng 5, 2015
Viết hàm kiểm tra số nguyên tố Mersenne
Đăng ký:
Đăng Nhận xét (Atom)
Hay quá bạn ơi
Trả lờiXóa