jueves, 16 de junio de 2011

Números Perfectos!


Un número perfecto es un número natural que es igual a la suma de sus divisores propios positivos, sin incluirse él mismo. Dicho de otra forma, un número perfecto es aquel que es amigo de sí mismo.
 


#include<iostream>
#include<iomanip>
#include<conio.h>
using namespace System;
using namespace std;
void main()
{
      Console::Title::set("Numeros Perfectos por Diego Alberto Rodriguez Mora");
    Console::BackgroundColor::set(ConsoleColor::White);
    Console::ForegroundColor::set(ConsoleColor::DarkGreen);
    Console::Clear();
     
      long long int NUM=1,LIM,DEN,SMA;
Console::SetCursorPosition(8,0);
      for(int A; A<=47; A++)
      {cout<<":";}
      Console::ForegroundColor::set(ConsoleColor::Red);
      cout<<"\n\t:Este programa permite hallar n\xA3meros perfectos:\n\n";
      Console::ForegroundColor::set(ConsoleColor::DarkGreen);
      Console::SetCursorPosition(8,2);
      for(int B; B<=47; B++)
{cout<<":";}
cout<<"\n\nDigite un n\xA3mero limite (entero positivo) ";cin>>LIM;
cout<<endl;
if(LIM<1)
{cout<<" El valor ingresado no esta permitido, intentelo otra vez!";}
else
{cout<<"1 No es un n\xA3mero perfecto"<<endl;
for (NUM; NUM<=LIM; NUM++)
{for(DEN=1; DEN<=(NUM/2)+1; DEN++)
{if(NUM%DEN==0)
{SMA=DEN+SMA;}
if((NUM/2)+1==DEN)
{SMA=0;}
if(NUM/2==DEN)
{if(SMA==NUM)
{
      Console::ForegroundColor::set(ConsoleColor::Red);
      cout<<NUM<<" Es un n\xA3mero perfecto!\n";}

else {Console::ForegroundColor::set(ConsoleColor::DarkGreen);
      cout<<NUM<<" No es un n\xA3mero perfecto\n";}
}
}
}}
Console::ReadKey();
}


No hay comentarios:

Publicar un comentario