Dev - C++ - NUMEROS PERFECTOS

 
Vista:
Imágen de perfil de Luís
Val: 30
Ha disminuido su posición en 4 puestos en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

NUMEROS PERFECTOS

Publicado por Luís (17 intervenciones) el 24/12/2019 11:00:24
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#include <iostream>
using namespace std;
 
int main()
{
	int num;
	int div=0;//haz un acumulativo de cuantos suman entre si los divisores del numero
	/*int menors;*/
	cout<<"Introduzca un numero entero y le diremos si es perfecto o no."<<endl;
	cout<<"Numero: ";
	cin>>num;
	for (int i=1; i<num; i++){
		if (num%i==0)
			div +=i;
	}
	if (num==div)
	{
		cout<<num<< " es perfecto";
	}
	else
	{
		cout<<num<<" no es perfecto";
	}
	return 0;
}

La salida debe mostrar, separados por coma, todos los números
perfectos menores que el número dado en la entrada.



Me falta esa parte en negrito, como hago? He intentado pero no se muy bien, estoy empezando.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alfil
Val: 4.344
Oro
Ha mantenido su posición en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

NUMEROS PERFECTOS

Publicado por Alfil (1444 intervenciones) el 25/12/2019 07:45:21
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#include <iostream>
 
using namespace std;
 
bool numeroPerfecto( int numero );
 
int main () {
    int numero, count = 0;
 
    cout << "Numero?: ";
    cin >> numero;
 
    cout << "\nLos numeros perfectos son: ";
    for (int k = 1; k <= numero; k++) {
        if ( numeroPerfecto( k ) ) {
            if( count == 0 ) cout << k;
            else cout << ", " << k;
            count++;
        }
    }
    cout << endl;
 
    return 0;
}
 
bool numeroPerfecto( int numero ) {
    int suma = 0;
 
    for (int i = 1; i < numero; i++)
        if (numero % i == 0)
            suma = suma + i;
 
    return suma == numero;
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Alfil
Val: 4.344
Oro
Ha mantenido su posición en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

NUMEROS PERFECTOS

Publicado por Alfil (1444 intervenciones) el 09/01/2020 16:30:30
Tal y como me has pedido por privado, el mismo programa pero sin utilizar funciones

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#include <iostream>
 
using namespace std;
 
int main () {
    int numero, count = 0;
 
    cout << "Numero?: ";
    cin >> numero;
 
    cout << "\nLos numeros perfectos son: ";
 
    for (int k = 1; k <= numero; k++) {
        int suma = 0;
        for (int i = 1; i < k; i++)
            if (k % i == 0)
                suma = suma + i;
            if ( suma == k ) {
                if( count == 0 ) cout << k;
                else cout << ", " << k;
                count++;
            }
    }
    cout << endl;
 
    return 0;
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar