Número abundante/defectivo
Número abundante
En base a la lectura en Wikipedia sobre Número abundante:
En matemáticas, un número abundante o número excesivo es un número x para el cual
σ(x) > 2x
. Aquíσ(x)
es la función divisor, esto es, la suma de todos los divisores positivos dex
, incluido el propiox
.El valor
σ(x) − 2x
es conocido como la abundancia dex
. Una definición equivalente es que los divisores propios del número (todos los divisores excepto el propio número) sumen más que dicho número.Unos pocos de los primeros números abundantes son:
12
,18
,20
,24
,30
,36
,40
,42
,48
,54
,56
,60
,66
,70
,72
,78
,80
,84
,88
,90
,96
,100
,102
,…
A modo de ejemplo, consideremos el número 24. Sus divisores son
1
,2
,3
,4
,6
,8
,12
,24
cuya suma es 60. Puesto que60
es mayor que2×24=48
, el número24
es abundante. Y su abundancia es60 − 2 × 24 = 12
.El número abundante impar más pequeño es
945
.Existen infinitos números abundantes pares e impares.
Cualquier múltiplo propio de un número perfecto, y cualquier múltiplo de un número abundante es abundante.
También, cualquier número entero mayor que
20161
puede ser escrito como la suma de dos números abundantes.
Número defectivo
En base a la lectura en Wikipedia sobre Número defectivo:
Un número defectivo o deficiente es un número natural que es mayor que la suma de sus divisores propios exceptuándose a sí mismo.
Todos los números primos son defectivos y también lo son las potencias de los números primos y los divisores propios de los números defectivos y perfectos. Si la suma de sus divisores propios es mayor, entonces se considera al número como abundante.
Es fácil ver que existen infinitos números defectivos, ya que existen infinitos números primos, y estos son sólo algunos de los números defectivos.
Defina las siguientes funciones:
Para número abundante:
es-número-abundante?
: tal que dado un argumento regresatrue
solo si dicho argumento es un número abundante,false
en caso contrario.son-números-abundantes?
: tal que dada una colección regresatrue
solo si dicha colección está conformada unica y exclusivamente por números abundantes,false
en caso contrario.los-abundantes-en
: tal que dada una colección regresa una colección conformada unica y exclusivamente por los números abundantes encontrados en la colección dada.es-la-abundancia-de?
: tal que dado dos argumentos regresatrue
solo si el primer argumento es un número abundante y el segundo argumento es la abundancia del primer argumento.las-abundancias-de
: tal que dada una colección regresa una colección conformada unica y exclusicamente por los números abundantes, encontrados en la colección dada, acompañados/emparejados/asociados con su abundancia. En caso de encontrarse con algún elemento que no sea un número abundante se acompañara/emparejará/asociará dicho elemento con el número-1
.el-siguiente-número-abundante
: tal que dado un argumento regresa el siguiente número abundante al argumento dado solo si el argumento dado es un número abundante,-1
en caso contrario.
Para número defectivo:
es-número-defectivo?
: tal que dado un argumento regresatrue
solo si dicho argumento es un número defectivo,false
en caso contrario.son-números-defectivos?
: tal que dada una colección regresatrue
solo si dicha colección está conformada unica y exclusivamente por números defectivos,false
en caso contrario.los-defectivos-en
: tal que dada una colección regresa una colección conformada unica y exclusivamente por los números defectivos encontrados en la colección dada.el-siguiente-número-defectivo
: tal que dado un argumento regresa el siguiente número defectivo al argumento dado solo si el argumento dado es un número defectivo,-1
en caso contrario.
¿Se presenta algún error en las funciones si el argumento dado no es el esperado?:
(es-número-abundante? "ñaca ñaca")
(es-número-abundante? [true false true])
(los-abundantes-en? ["ñaca" \ñ \a \c \a [true false]])
(el-siguiente-número-defectivo \♞)
No debe...funciones totales ;-)
RESTRICCIONES
IMPORTANTE
- No es posible hacer uso de recursividad de cola (tail call recursion)
- No es posible hacer uso de lo siguiente ofrecido en Clojure:
loop
(recur
,for
),do
,filter
,map
,mapv
,amap
,pmap
,every?
,not-every?
,some
-*,not-any?
,remove
,keep
,take-
*,cond
,case
yapply
. - No es posible hacer uso en ningún momento del tipo de dato string o carácter, ni mucho menos de alguna expresión regular.
- No es posible hacer uso de ningúna clase, ni mucho menos de algún método ofrecido en Java (Java Interoperation).
- UN SOLO COMENTARIO DEBE DE CONTENER LAS FUNCIONES SOLICITADAS, incluyendo aquellas más que hayan sido necesarias definir por cuenta propia.