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 20:33
Función lógica que determine si un valor n es un número perfecto


Compartir:

Para poder mantener nuestro sitio web gratuito nos ayudas mucho si nos sigues en nuestras Redes Sociales

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

Pregunta o consulta del visitante:

¡Hola! ¿Podrían ayudarme a escribir una función en lenguaje C que determine si un número es perfecto? Necesito que la función verifique si un valor n es igual a la suma de todos sus divisores positivos. ¡Gracias!

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"?



Compartir nota:

 


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




* ACLARACIÓN: Sugerimos dejar tu email si quieres que te contactemos para una respuesta de nuestro staff o corregir la respuesta de la IA.


Nuestras Redes

Puedes seguirnos y contactarnos en nuestras redes.
Facebook
WhatsApp
Instagram
Facebook Horoscopo

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

Artículos relacionados


Diccionario informático


Nuestras Redes

¡Novedades de la web y contáctanos en nuestras redes sociales!
Facebook
Facebook Horoscopo
Instagram
Twitter
WhatsApp