Module: Subrutinas: procedimientos y funciones - 2


Problem

8/10

Funciones lógicas. números perfectos

Problem

Un número perfecto es un número igual a la suma de todos sus divisores menos que él mismo (por ejemplo, el número 6=1+2+3). Escribe un programa que tome un número natural y determine si el número es perfecto. Utilizar  una función para encontrar la suma de los divisores de un número y una función booleana para comprobar si el número es perfecto o no.

Entrada: La cadena de entrada contiene un número natural .

Salida: Si un número – perfecto, el programa debería mostrar la palabra 'SÍ', de lo contrario – la palabra 'NO'.

Ejemplos
# Entrada Salida
1 28 SI
2 29 NO
Write the program below
var N: longint;

function SumOfDivisions(n: integer): integer;  
end;

function isPerfectNumber(n: integer): boolean;  
end;

begin
    read(N);  
end.  

     

Program check result

To check the solution of the problem, you need to register or log in!