InicioApuntes Y MonografiasPrograma numero perfecto y sus divisores

Programa numero perfecto y sus divisores

Hola después de que alguien me comento en alguna clase como presentar un numero perfecto o no perfecto, y ademas sus divisores.
Esto fue para una clase básica de borland C++. Aquí el código. Cualquier comentario gracias.


//PROGRAMA QUE LEE UN NUMERO Y MUESTRA SUS DIVISORES
//Un nº es perfecto cuando es igual a la suma de sus divisores excepto el mismo
/*EJEMPLO DE NUMEROS PERFECTOS
6 = 1 + 2 + 3,
28 = 1 + 2 + 4 + 7 + 14,
496 = 1 + 2 + 4 + 8 + 16 + 31 + 62 + 124 + 248
8128 = 1 + 2 + 4 + 8 + 16 + 32 + 64 + 127 + 254 + 508 + 1016 + 2032 + 4064
*/

/*declaracion de variables:
"cont" sera la variable que controle todos los indices del 1 al n,,,
"divisor" sera mi variable contador y al mismo tiempo el divisor a presentar
"residuo" sera el encargo de controlar la presentacion el divisor (cont)
"suma" llevara el control de sumas de "divisor" y se presentará por pantalla solo si es numero perfecto.

importante: siempre inicializar las variables de calculo, el % coge la parte entera del residuo */

#include<conio.h>
#include<stdio.h>

void main()

{

int num, divisor=0,cont=0,residuo=0, suma=0;

clrscr();

printf("nn Ingrese su numero: " );
scanf("%i", &num);


//ciclo DO/WHILE para divisores y residuos

cont++;

do
{ residuo = num%cont;

if(residuo==0)
{ suma = suma +cont;
divisor=cont; //asigno el valor del contador actual al divisor
printf("nnDivisor: %in", divisor);

cont++;
}
else
{ //Si el residuo es diferente de 0, entonces solo incrementar el contador pero no asigne el contador al divisor
//tampoco muestre ningun mensaje por pantalla
if(residuo!=0)
{ cont++;

}
}

}while(suma+1< num); //suma mas uno para que condicione a todos los numeros perfectos y no perfectos

//sale del ciclo si se cumple la suma.. Presenta mensajes

if(suma==num)
{
printf("nnEl numero es PREFECTO: %i ", suma);
}

else

if(suma!=num)
{
printf("nnEl numero NO es PREFECTO: %i ", suma);
}
getch();

}
Datos archivados del Taringa! original
0puntos
2,376visitas
0comentarios
Actividad nueva en Posteamelo
0puntos
2visitas
0comentarios
Dar puntos:

Dejá tu comentario

0/2000

Autor del Post

r
royiman🇦🇷
Usuario
Puntos0
Posts1
Ver perfil →
PosteameloArchivo Histórico de Taringa! (2004-2017). Preservando la inteligencia colectiva de la internet hispanohablante.

CONTACTO

18 de Septiembre 455, Casilla 52

Chillán, Región de Ñuble, Chile

Solo correo postal

© 2026 Posteamelo.com. No afiliado con Taringa! ni sus sucesores.

Contenido preservado con fines históricos y culturales.