Ejercicio: Elabore un programa que presente en pantalla los primeros veinte (20) números que:
a.- Que sean divisibles exactamente entre cuatro (4). (Sin parte decimal)
b.- Que sean divisibles exactamente entre seis (6). (Sin parte decimal)
c.- Que su raíz cuadrada de un numero entero (Sin parte decimal) y que ese número termine es cuatro (4).
El rango a revisar es desde 5.000.000 hasta que consiga los primeros cinco (5) números.
En la pantalla deberá presentarse los número.
Solución
Una forma de hacer el ejercicio es ejecutar las verificaciones en el orden que establece el enunciado, funciona pero no es el programa mas eficiente.
Programa Nro.1
/* Programa para determinar los primeros 5
números a partir de 5 millones que son divisibles
exactamente entre 4 y 6, que la raíz da un resultado sin
parte decimal y que ese resultado termina en 4.
Elaborado: Por Carlos Ferrer
Rev. marzo 2025
*/
#include <iostream>
#include <math.h>
using namespace std;
main()
{
int numero=5000000; //Números del 5000000 en adelante
double raiz; //raíz cuadrada del numero a estudiar
int i=0; //Contador de números
int aux_entero; //Variable auxiliar entera
double aux_doble; //Variable auxiliar doble
cout <<"Numero Divi/4 Div/6 Raiz"<<endl;
//Revisamos hasta conseguir 5 números
while (i<=5)
{
//verificamos si es divisible entre 4 y 6
if(numero%4==0 and numero%6==0)
{
//Verificamos si la raíz es exacta
raiz=sqrt(numero);
aux_entero=raiz;
aux_doble=raiz;
aux_doble=aux_doble-aux_entero;
if (aux_doble==0)
{
//Verificamos si la raiz termina en 4
aux_entero=raiz/10;
aux_doble=raiz/10;
aux_doble=aux_doble-aux_entero;
if (aux_doble>0.39 and aux_doble<0.41)
{
cout <<numero<<" "<<numero/4<<" "<<numero/6<<" "<<raiz<<endl;
i=i+1;
}
}
}
numero=numero+1;
}
}
Otra forma de hacer el ejercicio es arrancar desde la raíz, sabemos que la raiz de 5.000.000 es 2.236,067977, la idea es buscar todos los números a partir de 2236 que terminen en 4 arrancando en 2244, se eleva al cuadrado y luego simplemente verificamos si es divisible entre 4 y 6. Al conseguir los primeros 5 finalizamos la búsqueda, aparentemente esta es la forma mas simple.
Programa Nro. 2
/* 2do Programa para determinar los primeros 5
números a partir de 5 millones que son divisibles
exactamente entre 4 y 6, que la raiz da un resultado sin
parte decimal y que ese resultado termina en 4.
Elaborado: Por Carlos Ferrer
Rev. marzo 2025
*/
#include <iostream>
#include <math.h>
using namespace std;
main()
{
int numero; //Números del 5000000 en adelante
double raiz=2244; //raíz cuadrada del numero a estudiar
int i=0; //Contador de números
int aux_entero; //Variable auxiliar entera
cout <<"Numero Divi/4 Div/6 Raiz"<<endl;
//Revisamos hasta conseguir 5 números
while (i<=5)
{
numero=pow(raiz,2);
if (numero%4==0 and numero%6==0)
{
cout <<numero<<" "<<numero/4<<" "<<numero/6<<" "<<raiz<<endl;
i=i+1;
}
raiz=raiz+10;
}
}
Ambos programas arrojan el siguiente resultado:
No hay comentarios.:
Publicar un comentario