Título: Función lógica que determine si un valor n es un número perfecto
Fecha: 08-05-2023 20:33
Claro, para resolver esta tarea en lenguaje C, se puede escribir una función que reciba como parámetro un número entero positivo n y determine si es un número perfecto o no.
Aquí te dejo el código que lo hace:
```
#include <stdio.h>
int esNumeroPerfecto(int n){
int sumaDivisores = 0;
for(int i=1; i<n; i++){
if(n%i == 0){
sumaDivisores += i;
}
}
if(sumaDivisores == n){
return 1;
}else{
return 0;
}
}
int main(){
int num;
printf("Ingrese un numero: ");
scanf("%d", &num);
if(esNumeroPerfecto(num)){
printf("%d es un numero perfecto.\n", num);
}else{
printf("%d no es un numero perfecto.\n", num);
}
return 0;
}
```
Primero, definimos una función llamada "esNumeroPerfecto" que recibe como parámetro un número entero positivo n. Dentro de esta función, inicializamos una variable llamada "sumaDivisores" en cero, que se encargará de ir sumando todos los divisores del número n.
Luego, utilizamos un ciclo "for" para recorrer todos los enteros positivos menores a n (excluyendo al número mismo). Si el número es divisor de n, lo sumamos a la variable "sumaDivisores".
Finalmente, comparamos si la suma de los divisores es igual al número n. Si es así, significa que es un número perfecto y retornamos 1. En caso contrario, retornamos 0.
En la función "main", le pedimos al usuario que ingrese un número entero positivo y llamamos a la función "esNumeroPerfecto" para determinar si es un número perfecto. Si lo es, imprimimos un mensaje indicándolo, y si no lo es, imprimimos un mensaje indicando lo contrario.
¿Cómo puedo agregarle textos bonitos con ncurses.h a este código?
Algoritmo en C que simule la atención de clientes en un banco
Función que reciba una cadena y una letra, y devuelva la cantidad de veces que dicha letra aparece en la cadena
Función lógica que reciba un número natural y compruebe si la suma de sus cifras pares es igual a la suma de las cifras impares
Escriba una función que dado un número entero positivo n produzca el número invertido
Función que dado un número entero n cuente el número de cifras o dígitos
Crear una función que reciba una cadena y una letra, y devuelva la cantidad de veces que dicha letra aparece en la cadena
La Programación modular vs. recursiva
Programación secuencial vs programación estructurada
Actualidad informática: noticias de sobre tecnología, web, internet...
Artículos sobre informática: Windows, antivirus, programación...
Literatura: cuentos cortos, poemas y poesía...
Paranormal: sección de ocultismo, fenómenos extraños, interpretación de sueños...