Ayuda!! ya tengo los métodos hechos para cada uno de los problemas pero no logro hacer el .cpp ni el .h de ninguno de ellos.
estos son los enunciados:
Defina la clase Numero, los métodos constructores con y sin parámetros, los métodos set - get y método destructor, y defina los métodos que resuelven los siguientes problemas:
Los números "omirp" son números primos y simétricos. Es muy popular la definición de los pares de números primo-omirp, o primos reversibles, que son aquellos en los que uno se forma invirtiendo las cifras del otro y que ambos son primos, como los pares 199 y 991, 7589 y 9857. Se suelen excluir los capicúas. Ejemplo: 302647 y el que se obtiene al copiarlo en sentido inverso: 746203. Otros ejemplos 323767, 341587, 353797.
Implementar un método esOmirp() de tipo boolean, que permita saber si el objeto es un número Omirp o no. en conclusión un número OMIRP es un número primo que al invertir sus dígitos da otro número primo.
Hace miles de años Nicómano descubrió que podía calcular los cubos de los números naturales, sumando números impares. Por ejemplo, el cubo de 1 es la suma del primer impar (1), el cubo de 2, es la suma de los dos siguientes impares (3 + 5), el cubo de 3 es la suma de los tres siguientes (7+9 +11) y así sucesivamente. Haga un método que determine y devuelva el valor del cubo de N, según el método de Nicómano.
y estos son los métodos que tengo:
Método primo
bool esPrimo (int k) {
//N = k;
int i=1;
int divisores = 0;
while(i <= k){
if (k % i == 0){
divisores++;
}
i++;
}
if (divisores == 2){
//cout <<"Es primo "<<endl;
return true;
}
else //cout <<"No es primo "<<endl;
return false;
}
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
Método espejo
int esEspejo (){ //Este método imprime el número invertido.
int nn = 0 ;
int v = N;
while (v>0){
nn = ( (v%10) + nn )*10;
v = v/10;
}
nn = nn / 10;
//cout <<"Es espejo es : "<< nn <<endl;
return nn;
}
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
int nicomano (){
int i, resultado=0, impar, numero, k;
//el par anterior al impar que buscamos impar=N*(N-1);
//iniciamos contadores, i recorre los impares y k la cantidad de impares
for (i=1, k=1; k<=N; i= i+2, k++)
resultado = resultado + impar + i;
//acumulamos impares
//mostramos
return resultado; }
EL problema es que no logro hacer el .cpp ni el .h