Está en la página 1de 6

Curso: Fundamentos de Algoritmos – Sesión 07

Ejercicios resueltos de Procesos Repetitivos


22) Programa para ingresar un número entero positivo y reportar todos sus divisores.
#include<iostream>
using namespace std;
int main()
{
int num,i;
do{
cout<<"Ingrese numero : ";
cin>>num;
}while(num<=0);
for(i=1;i<=num;i++)
{
if(num%i==0)
cout<<i<<" ";
}
cout<<endl;
system("pause");
return 0;
}
23) Ingresar un numero entero y reportar si es primo. Un número es primo cuando es divisible por si
mismo y la unidad.
#include<iostream>
using namespace std;
int main()
{
int num,i,cd=0;

do{
cout<<"Ingrese numero : ";
cin>>num;
}while(num<=0);
for(i=1;i<=num;i++)
{
if(num%i==0)
cd++;
}
if(cd==2) cout<<"El numero es primo "<<endl;
else cout<<"No es primo"<<endl;
cout<<endl;
system("pause");
return 0;
}

24) Ingresar un número entero positivo y reportar si es perfecto. Un número es perfecto si es igual
a la suma de divisores menores que él. Por ejemplo 6 es perfecto pues es igual 1 + 2 + 3.
#include<iostream>
using namespace std;
int main()
{
int num,i,sd=0;

Docente: Ing. Marcelino Torres Villanueva 1


Curso: Fundamentos de Algoritmos – Sesión 07

do{
cout<<"Ingrese numero : ";
cin>>num;
}while(num<=0);
for(i=1;i<=num/2;i++)
{
if(num%i==0)
sd = sd+ i;
}
if(sd==num) cout<<"El numero es perfecto"<<endl;
else cout<<"No es perfecto"<<endl;
cout<<endl;
system("pause");
return 0;
}

25) Ingresar un número y reportar todos sus factores primos. Por ejemplo si ingresamos 12 debe
reportar 2 2 3. Si ingresamos 25 se debe reportar 5 5.
#include<iostream>
using namespace std;
int main()
{
int num,d=2;

do{
cout<<"Ingrese numero : ";
cin>>num;
}while(num<=0);

while(num>1)
{
if(num %d ==0)
{
cout<<d<<" ";
num=num/d;
}
else
d=d+1;
}
cout<<endl;
system("pause");
return 0;
}

26) Ingresar 2 números enteros positivos y reportar su máximo común divisor.


#include<iostream>
using namespace std;
int main()
{
int num1,num2,d=2,mcd=1;

Docente: Ing. Marcelino Torres Villanueva 2


Curso: Fundamentos de Algoritmos – Sesión 07

do{
cout<<"Primer numero : ";
cin>>num1;
}while(num1<=0);
do{
cout<<"Segundo numero : ";
cin>>num2;
}while(num2<=0);
while(d<=num1 && d<=num2)
{
if(num1 %d ==0 && num2 % d ==0)
{
mcd = mcd * d;
num1 = num1 / d;
num2 = num2 / d;
}
else
d=d+1;
}
cout<<"El m.c.d. es : "<<mcd<<endl;
system("pause");
return 0;
}
27) Ingresar un número entero positivo y reportar su suma de dígitos.
#include<iostream>
using namespace std;
int main()
{
int num,dig,sd=0,x;
do{
cout<<"Ingrese numero : ";
cin>>num;
}while(num<=0);
x=num;
while(x!=0)
{
dig = x % 10;
sd = sd + dig;
x = x /10;
}
cout<<"La suma de dígitos del número "<<num<<" es : "<<sd<<endl;

system("pause");
return 0;
}
28) Ingresar un numero entero positivo y reportar si es capicúa
#include<iostream>
using namespace std;
int main()
{
int num,dig,x,inv=0;

Docente: Ing. Marcelino Torres Villanueva 3


Curso: Fundamentos de Algoritmos – Sesión 07

do{
cout<<"Ingrese numero : ";
cin>>num;
}while(num<=0);
x=num;
while(x!=0)
{
dig= x % 10;
inv = inv*10+dig;
x = x /10;
}
if(num == inv)
cout<<"el numero "<<num<<" es capicua"<<endl;
else
cout<<"el numero "<<num<<" no es capicua "<<endl;
system("pause");
return 0;
}

29) Ingresar un numero entero en base 10 y reportar el numero en base b ( entre 2 y 9)

#include<iostream>

using namespace std;

int main()
{
int num,b,r,x,nuevo=0,p=1;
do{
cout<<"Ingrese numero : ";
cin>>num;
}while(num<=0);
do{
cout<<"Ingrse base (2-9) : ";
cin>>b;
}while(b<2 || b>9);

x=num;

while(x!=0)
{
r = x % b;
nuevo = nuevo + r*p;
p = p * 10;
x = x /b;
}
cout<<"El numero "<<num<<" en base "<<b<<" es : "<<nuevo<<endl;
system("pause");
return 0;
}

Docente: Ing. Marcelino Torres Villanueva 4


Curso: Fundamentos de Algoritmos – Sesión 07

Ejercicios propuestos 2

1) Escribir un programa que lea un número entero n>0 y que imprima los n términos de la serie:
4, 12, 24, 40, 60........ Debe imprimir también la suma de los n términos.
2) Escribir un programa que lea un número entero n>0 y que imprima los n términos de la serie:
4, 9, 15, 23, 34, 49,..... Debe imprimir también la suma de los n términos
3) Escribir un programa que calcule e imprima el valor de los n términos de la serie:
2, 1, 1, 2, 8, 64....... También se debe imprimir la suma de los n términos
4) Escribir un programa que calcule e imprime los N términos de la sumatoria
4/2 – 9/1 + 15/1 – 23/2 + 34/8 – 49/64 + ….
Debe imprimir como mínimo k términos por línea. También debe calcular la suma de los N Términos.
5) Escribir un programa que permita leer dos números y reporte si son amigos.
Se dice que dos números son amigos si cada uno de ellos es igual a la suma de los divisores
(menores que el número) del otro. Ejemplo: 220 y 284 son amigos.
6) Escribir un programa para ingresar 3 números y reporte su máximo común divisor y su mínimo
común múltiplo.
7) Escribir un programa que para reducir un quebrado a su mínima expresión.
Ejemplos: 15/25 = 3/5 y 18/60 = 9/30 = 3/10
8) Escribir un programa que convierta un número de base b (entre 2 y 9) a un número de base 10.
9) Convertir un numero de base n a un número de base m .
10) Escribir un programa que determine todos los números primos que se encuentran entre 2
números n1 y n2.
11) Escribir un programa que permita mostrar en pantalla los N primeros números primos.
12) Escribir un programa que permita mostrar todos los números perfectos menores que 1000.
13) Escribir un programa que permita ingresar un número entero y reporte si es un Cubo Perfecto.
Un número es un cubo perfecto y es igual a la suma de sus dígitos al cubo. Ejemplo 153 es cubo
Perfecto porque 13 + 53+ 33 = 153.
14) Ingresar un número entero positivo y reportar el producto de sus dígitos y el mayor de sus
dígitos.
15) Ingresar N números de 2 dígitos y determinar cuál de ellos tiene la suma de dígitos mayor
16) Escribir un programa que permita leer números enteros diferentes de cero y que al finalizar
imprima:
a.- El número mayor y el número menor.
b.- El total de números leídos.
c.- La cantidad de números positivos y números negativos.
El programa termina cuando se ingresa el cero.

17) Escribir un programa que lea las edades de personas y calcule la edad mayor, la edad menor y la
edad promedio.
El programa termina cuando se ingresa una edad menor o igual que cero.
18) Dado un numero entero positivo N, dibujar el siguiente triangulo:
Si N=5 saldrá
1
12
123
1234
12345

Docente: Ing. Marcelino Torres Villanueva 5


Curso: Fundamentos de Algoritmos – Sesión 07

19) Dado un numero entero positivo N, dibujar en la pantalla el siguiente triangulo:


Si N=4
****
***
**
*
20) Dado un numero entero positivo N, dibujar el siguiente cuadrado:
Ingrese N: 4
1234
2341
3412
4123

Docente: Ing. Marcelino Torres Villanueva 6

También podría gustarte