tengo que hacer este programa en c++ podrian ayudarme ?


Un número perfecto es aquel que es igual a la suma de todos sus divisores

positivos excepto el mismo. El primer número perfecto es el 6 ya que sus divisores son

1, 2 y 3 y 6=1+2+3. Escribir un programa que muestre el mayor número perfecto que sea

menor a un número dado por el usuario

resultado:

Entrada: 8
Salida: RESULTADO = 6

Entrada: 400
Salida: RESULTADO = 28

Respuestas

Respuesta dada por: jrbv2020
1

#include <iostream>

using namespace std;

bool Perfecto(int);

int main(int argc, char *argv[])  

{

int n=0,mayor=0;

cout<<"Numero: ";

cin>>n;

for(int i=1;i<=n;i++)

{

 if(Perfecto(i))

 {

  if(i>mayor)

  {

   mayor=i;

  }

 }

}

cout<<"Salida: "<<mayor<<endl;

return 0;

}

bool Perfecto(int num)

{

int s=0;

for(int i=1;i<num;i++)

{

 if(num%i==0)

 {

  s+=i;

 }

}

if(s==num)

{

 return true;

}

else

{

return false;

}

}

Adjuntos:

Leiasawyer: Hola
Leiasawyer: vi que sabías sobre Dev C++.
Leiasawyer: Me podrías ayudar a entenderlo o con las respuestas directamente. Te lo agradecería mucho. Gracias de todas formas si no es posible.
jrbv2020: no entiendo que deseas saber
Leiasawyer: cómo realizar los ejercicios con Dev C++
Leiasawyer: los ejercicios están en mí última pregunta. Mí profesor solo me mandó a hacerlos y no explico nada. No sé cómo pasarlos a Dev C++ y no encontré mucha información al respecto.
Preguntas similares