Definición
En matemáticas, la secuencia armónica se refiere a una secuencia donde
es decir, el n ésimo término de la secuencia es igual a la recíproca de n .
Introducción
En este desafío, dado un entero positivo n como entrada, genera la suma parcial de los primeros n términos de la secuencia armónica.
Entrada
Se le dará un número entero positivo (dentro del rango de números admitidos por su idioma). Puede ser con o sin signo (depende de usted), ya que el desafío solo requiere enteros positivos.
Puede tomar la entrada de cualquier manera, excepto suponiendo que esté presente en una variable predefinida. prompt()
Se permite la lectura desde un archivo, terminal, ventana modal ( en JavaScript), etc. Tomar la entrada como argumento de función también está permitido.
Salida
Su programa debería generar la suma de los primeros n términos de la secuencia armónica como flotante (o entero si la salida es divisible por 1) con precisión de 5 cifras significativas, donde n se refiere a la entrada. Para transmitir lo mismo en la jerga matemática, debe calcular
donde n se refiere a la entrada.
Puede generar resultados de cualquier manera, excepto escribir el resultado en una variable. Se permite escribir en la pantalla, terminal, archivo, ventana modal ( alert()
en JavaScript), etc. La salida como return
valor de función también está permitida.
Reglas Adicionales
El número de entrada puede ser 0 indexado o 1 indexado. Debes especificar eso en tu publicación.
No debe usar un incorporado para calcular la suma parcial de los primeros n elementos. (¡Sí, es para ti Mathematica!)
No debe abusar de los tipos de números nativos para trivializar el problema .
Se aplican lagunas estándar .
Casos de prueba
Los casos de prueba suponen que la entrada está indexada en 1
Input Output
1 1
2 1.5
3 1.8333
4 2.0833
5 2.2833
Criterio ganador
Este es el código de golf , por lo que gana el código más corto en bytes.
9.9999E10
lugar de99999999999.9999999999
Respuestas:
Jalea , 3 bytes
Pruébalo en línea!
1 indexado.
Explicación:
fuente
Python 3, 27 bytes
fuente
RuntimeError
cuando se maneja una entrada mayor que el límite de recursión, 1000 por defecto.sys.setrecursionlimit(473755252663)
pero la pila eventualmente se desbordará con bastante facilidadJavaScript,
1918 bytes1 byte guardado gracias a @RickHitchcock
Esto es 1 indexado.
fuente
f=
de su respuesta para guardar 2 bytes.f=
porque la función es recursiva y hace referencia a sí mismaf(--a)
. Pero si esto no fuera una solución recursiva, podría haberlo hechof=a=>a&&1/a+f(--a)
.APL (Dyalog) , 5 bytes
Pruébalo en línea!
Puedes añadir
⎕PP←{number}
al encabezado para cambiar la precisión a{number}
.Esto es 1 indexado.
Explicación
fuente
Mathematica,
212016 bytesEsta solución está 1 indexada.
fuente
Tr[1./Range@#]&
.PHP, 33 bytes
1-indexación
Pruébalo en línea!
fuente
Pari / GP , 18 bytes
1-indexación.
Pruébalo en línea!
fuente
CJam , 11 bytes
Pruébalo en línea!
1 indexado.
fuente
Japt
-x
,8653 bytesCon algunas gracias a ETHproductions
Pruébalo en línea
fuente
õ x@1/X
XpJ
lugar de1/X
:-)_
debido a las funciones automáticas. Realmente debería escribir ese consejo: P (debería tener tiempo hoy o mañana, debido a que es el Día de los Caídos)CJam ,
1110 bytes1 byte eliminado gracias a Erik el outgolfer
Esto usa indexación basada en 1.
Pruébalo en línea!
Explicación
fuente
W
lugar de-1
.Haskell, 20 bytes
Solución original, 22 bytes.
Estas soluciones suponen una entrada indexada 1.
fuente
R , 15 bytes
Pruébalo en línea!
fuente
Tcl 38 bytes
Ese es un truco muy sucio, y las llamadas recursivas pasan cadenas literales como "5-1-1-1 ..." hasta que se evalúa a 0.
fuente
05AB1E , 3 bytes
Pruébalo en línea!
1 indexado.
fuente
MATL, 5 bytes
Esta solución utiliza indexación basada en 1.
Pruébalo en MATL Online
Explicación
fuente
Axioma,
4534 bytes1-indexado; Tiene un argumento un número entero positivo (PI) y devuelve "Any" que el sistema convierte (o no convierte) al tipo útil para la siguiente función arg (al final parece que sí, ver los ejemplos a continuación)
fuente
Pyth, 5 bytes
Try it here.
1-indexed.
fuente
C, 54 bytes
Uses 1-indexed numbers.
fuente
Brachylog, 6 bytes
Try it online!
This is 1-indexed.
Explanation
fuente
QBIC, 13 bytes
Explanation
fuente
Gol><>, 8 bytes
Try it online!
Example full program & How it works
fuente
Haskell, 21 bytes
fuente
C (gcc), 35 bytes
Try it online!
fuente
Braingolf, 20 bytes [non-competing]
This won't actually work due to braingolf's inability to work with floats, however the logic is correct.
Explanation:
Here's a modified interpreter that supports floats. First argument is input.
fuente
Tcl, 61 bytes
Try it online!
fuente