R

royiman

Usuario (Ecuador)

Primer post: 29 may 2011Último post: 29 may 2011
1
Posts
0
Puntos totales
1
Comentarios
P
Programa numero perfecto y sus divisores
Apuntes Y MonografiasporAnónimo5/29/2011

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(); }

0
3
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.