Realizar un programa que genere los números primos de Mersenne que hay en el rango del 2 al 30.
*Nota: Numero de Mersenne es todo numero natural de la forma (2p)-1, siendo p un numero primo. Si ere numero resulta ser primo se denomina primo de Mersenne.
Actualización:Correccion: Es de la forma (2^p)-1.
Copyright © 2024 Q2A.MX - All rights reserved.
Answers & Comments
Verified answer
#include <iostream>
using namespace std;
#define MAX 30
int primo(int num)
{
int cont = 0;
for(int i = num; i > 1; i--){
if(num % i == 0)
cont += i;
if(cont > num)
return 0;
}
return 1;
}
int main()
{
for(int i = 2; i < MAX; i++)
if(primo(i))
if(primo(pow(2.0, i) - 1))
cout<<i<<endl;
cin.get();
}
/*el programa no se traba, se queda asi por que esta calcuolando el siguiente numero.
segun esta pagina se requieren supercomputadoras para calcular los que siguen:*/
http://matematica.50webs.com/primos-de-mersenne.ht...