Tracks
/
Zig
Zig
/
Ejercicios
/
Números perfectos
Números perfectos

Números perfectos

Fácil

Instrucciones

Determina si un número es perfecto, abundante o deficiente según el esquema de clasificación de Nicómaco (60 - 120 de la era común) para los enteros positivos.

El matemático griego Nicómaco ideó un esquema de clasificación para los enteros positivos, que identifica cada uno como perteneciente de manera única a las categorías de perfecto, abundante o deficiente según su suma alícuota. La suma alícuota se define como la suma de los factores de un número, sin incluir el número mismo. Por ejemplo, la suma alícuota de 15 es 1 + 3 + 5 = 9.

Perfecto

Un número es perfecto cuando es igual a su suma alícuota. Por ejemplo:

  • 6 es un número perfecto porque 1 + 2 + 3 = 6
  • 28 es un número perfecto porque 1 + 2 + 4 + 7 + 14 = 28

Abundante

Un número es abundante cuando es menor que su suma alícuota. Por ejemplo:

  • 12 es un número abundante porque 1 + 2 + 3 + 4 + 6 = 16
  • 24 es un número abundante porque 1 + 2 + 3 + 4 + 6 + 8 + 12 = 36

Deficiente

Un número es deficiente cuando es mayor que su suma alícuota. Por ejemplo:

  • 8 es un número deficiente porque 1 + 2 + 4 = 7
  • Los números primos son deficientes

Tarea

Implementa una forma de determinar si un número dado es perfecto. Según el track de tu lenguaje, es posible que también tengas que implementar una forma de determinar si un número dado es abundante o deficiente.

Assert

Para este ejercicio, digamos que queremos que quien llama sea responsable de llamar a classify solo con una entrada distinta de cero. Así que haz que la función classify use un assert para comprobar que su entrada no sea cero. Para más detalles, consulta la referencia del lenguaje Zig y la implementación de std.debug.assert.

Sin embargo, ten en cuenta que este ejercicio actualmente no prueba una entrada de 0 (porque std.testing todavía no admite esperar un panic).

Editar en GitHub El enlace se abre en una ventana o una pestaña nuevas
Zig Exercism

¿Todo listo para empezar Números perfectos?

Regístrate en Exercism para aprender y dominar Zig con 104 ejercicios y mentoría humana real, todo gratis.