Definição
Em Matemática, Sequência Harmônica se refere a uma sequência em que
ou seja, o n ° termo da sequência iguala o recíproco de n .
Introdução
Nesse desafio, dado um número inteiro positivo n como entrada, produza a soma parcial dos primeiros n termos da sequência harmônica.
Entrada
Você receberá um número inteiro positivo (dentro do intervalo de números suportados pelo seu idioma). Pode ser assinado e não assinado (depende de você), pois o desafio requer apenas números inteiros positivos.
Você pode receber a entrada de qualquer maneira, exceto assumindo que ela esteja presente em uma variável predefinida. A leitura do arquivo, terminal, janela modal ( prompt()
em JavaScript) etc. é permitida. Tomando a entrada como argumento de função também é permitido.
Resultado
Seu programa deve gerar a soma dos primeiros n termos da Sequência Harmônica como float (ou inteiro se a saída for igualmente divisível por 1) com precisão de 5 algarismos significativos, em que n se refere à entrada. Para transmitir o mesmo no jargão matemático, você precisa calcular
onde n se refere à entrada.
Você pode produzir de qualquer maneira, exceto gravar a saída em uma variável. alert()
É permitido escrever na tela, terminal, arquivo, janela modal ( em JavaScript) etc. A saída como return
valor da função também é permitida.
Regras adicionais
O número de entrada pode ser indexado em 0 ou 1. Você deve especificar isso em sua postagem.
Você não deve usar um built-in para calcular a soma parcial dos primeiros n elementos. (Sim, é para você Mathematica!)
Você não deve abusar dos tipos de números nativos para banalizar o problema .
Aplicam-se brechas padrão .
Casos de teste
Os Casos de Teste supõem que a entrada seja 1 indexada
Input Output
1 1
2 1.5
3 1.8333
4 2.0833
5 2.2833
Critério vencedor
Isso é código-golfe , então o código mais curto em bytes vence!
9.9999E10
vez de99999999999.9999999999
Respostas:
Geléia , 3 bytes
Experimente online!
1 indexado.
Explicação:
fonte
Python 3, 27 bytes
fonte
RuntimeError
ao manipular a entrada maior que o limite de recursão, 1000 por padrão.sys.setrecursionlimit(473755252663)
mas a pilha acabará transbordando facilmenteJavaScript,
1918 bytes1 byte salvo graças a @RickHitchcock
Isso é indexado em 1.
fonte
f=
da sua resposta para economizar 2 bytes.f=
porque a função é recursiva e se refere a elaf(--a)
. Mas se isso não era uma solução recursiva, eu teria sido capaz de fazer issof=a=>a&&1/a+f(--a)
.APL (Dyalog) , 5 bytes
Experimente online!
Você pode adicionar
⎕PP←{number}
ao cabeçalho para alterar a precisão para{number}
.Isso é indexado em 1.
Explicação
fonte
Mathematica,
212016 bytesEsta solução é 1 indexada.
fonte
Tr[1./Range@#]&
.PHP, 33 bytes
Indexação 1
Experimente online!
fonte
Pari / GP , 18 bytes
Indexação 1.
Experimente online!
fonte
CJam , 11 bytes
Experimente online!
1 indexado.
fonte
Japonês
-x
,8653 bytesCom alguns agradecimentos à ETHproductions
Experimente online
fonte
õ x@1/X
XpJ
em vez de1/X
:-)_
funções automáticas. Eu realmente deveria escrever essa dica: P (I deve ter tempo hoje ou amanhã, devido a ser Memorial Day)CJam ,
1110 bytes1 byte removido graças a Erik, o agente externo
Isso usa indexação baseada em 1.
Experimente online!
Explicação
fonte
W
vez de-1
.Haskell, 20 bytes
Solução original, 22 bytes
Esses solutos assumem entrada indexada em 1.
fonte
R , 15 bytes
Experimente online!
fonte
Tcl 38 bytes
Esse é um hack muito sujo, e as chamadas recursivas passam cadeias literais como "5-1-1-1 ..." até que sejam avaliadas como 0.
fonte
05AB1E , 3 bytes
Experimente online!
1 indexado.
fonte
MATL, 5 bytes
Esta solução usa indexação baseada em 1.
Experimente no MATL Online
Explicação
fonte
Axioma,
4534 bytes1-indexado; Ele possui o argumento um número inteiro positivo (PI) e retorna "Qualquer" que o sys converta (ou não converta) para o tipo útil para a próxima função arg (finalmente parece ver os exemplos abaixo)
fonte
Pitão, 5 bytes
Experimente aqui.
1 indexado.
fonte
C, 54 bytes
Usa números indexados em 1.
fonte
Braquilog , 6 bytes
Experimente online!
Isso é indexado em 1.
Explicação
fonte
QBIC , 13 bytes
Explicação
fonte
Gol> <> , 8 bytes
Experimente online!
Exemplo de programa completo e como funciona
fonte
Haskell, 21 bytes
fonte
C (gcc) , 35 bytes
Experimente online!
fonte
Braingolf, 20 bytes [não concorrente]
Na verdade, isso não funcionará devido à incapacidade do braingolf de trabalhar com carros alegóricos, no entanto, a lógica está correta.
Explicação:
Aqui está um intérprete modificado que suporta flutuadores. O primeiro argumento é entrada.
fonte
Tcl, 61 bytes
Experimente online!
fonte