[C con Clase] NUMEROS PERFECTOS

CESAR ANDRES ROMERO anromartinez en hotmail.com
Jue Mayo 24 20:52:24 CEST 2007


HOLA AMIGOS PROGRAMADORES, EN DIAS PASADOS LES ENVIE EL TROZO DE UN CODIGO QUE ESTOY DISEÑANDO PARA QUE MUESTRE LOS NUMEROS PERFECTOS,PERO NO TIENE QUE MOSTRARLOS TODOS SIMPLEMENTE EL QUE SE SELECCIONE, POR EJE SI LE DOY 2 ME SALE 28 SI LE DOY 1 ME SALE EL 6 Y SI LE DOY 3 EL 496 Y ASI SUCESIVAMENTE, PERO ME LOS ESTA MOSTRANDO TODOS. PODRIA ALGUIEN AYUDARME. ESTE ES EL CODIGO QUE HICE.
#include<stdio.h>
#include<conio.h>

long int exp(long int e);

void main ()
{
clrscr();
long int n,m,valor,i,num1,num2,a,e,total;
printf("\n\n **PROGRAMA DISE¥ADO PARA CONOCER LOS NUMEROS PERFECTOS**\n\n");
printf("\n DIGITE EL NUMERO PERFECTO QUE DESEA SABER? : \n\n");
scanf("%ld",&n);
valor=1;
for (m=0;m<n; m++){
	if (m<2) { valor=valor+1;}
	if (m>=2){ valor=valor+2;}
e=valor;
num1=exp(valor-1);
num2=exp(valor);
total=num1*(num2-1);
printf(" %ld ",total);}
getch();
}
long int exp(long int e)
{
long int a, resul=1;
for ( a=0; a<e; a++){
     resul=resul*2;}
return resul;
}


Más información sobre la lista de distribución Cconclase