ALEGSA.com.ar

Función lógica que determine si un valor n es un número perfecto

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 ...
08-05-2023
Función lógica que determine si un valor n es un número perfecto



Título: Función lógica que determine si un valor n es un número perfecto
Fecha: 08-05-2023

Pregunta o consulta del visitante:

Escriba una función lógica que determine si un valor n es un número perfecto. Un número perfecto es
un entero positivo, que es igual a la suma de todos los enteros positivos (excluido el mismo) que son
divisores del número. Ejemplo: 6 es un número perfecto, ya que 1+2+3 = 6. Lenguaje c

Respuesta de ALEGSA.com.ar:

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.



Preguntas relacionadas para el Asistente IA:

1 - ¿Qué hace la función "esNumeroPerfecto" en el código en lenguaje C?

2 - ¿Qué tipo de parámetro recibe la función "esNumeroPerfecto"?

3 - ¿En qué consiste la condición del "if" dentro de la función "esNumeroPerfecto"?



 


articulos
Asistente IA
Escribe tu consulta sobre informática y tecnologías al asistente de Inteligencia Artificial
¡te responderá en segundos!




* ACLARACIÓN: el asistente ha sido entrenado para responder tus dudas con muy buenos resultados, pero puede equivocarse, esta tecnología aún está en desarrollo. Te sugiero dejar tu email para que te contactemos para corregir la respuesta de la IA: leemos todas las consultas y respuestas.


Usa nuestro buscador para definiciones, informática y tecnologías

Artículos relacionados


Diccionario informático