Começando no 1-TET, forneça temperamentos iguais que tenham uma melhor e melhor aproximação do quinto perfeito (apenas proporção 3/2). ( Sequência OEIS A060528 )
A descrição formal da sequência, copiada do OEIS:
Uma lista de temperamentos iguais (divisões iguais da oitava) cujos passos de escala mais próximos são aproximações cada vez mais próximas das proporções de dois tons de harmonia musical: o 4º perfeito, 4/3 e seu complemento, o 5º perfeito, 3/2.
Observe que, por simetria, o quarto perfeito não importa.
Digamos que sabemos que 3 está na sequência. As frequências no 3-TET são:
2^0, 2^⅓, 2^⅔
Onde 2^⅔
é a aproximação logarítmica mais próxima de 3/2
.
É 4 na sequência? As frequências no 4-TET são:
2^0, 2^¼, 2^½, 2^¾
Onde 2^½
é a aproximação mais próxima de 3/2
. Isso não é melhor do que 2^⅔
, então 4 não está na sequência.
Por método semelhante, confirmamos que 5 está na sequência e assim por diante.
Quando um número inteiro é fornecido n
como entrada, a saída deve ser os primeiros N números da sequência em ordem. Por exemplo, quando n = 7
, a saída deve ser:
1 2 3 5 7 12 29
Descrição da sequência por xnor
A constante irracional pode ser aproximada por uma sequência de frações racionais
Regras:
- Não importe a sequência A060528 diretamente.
O formato não importa, desde que os números sejam distinguíveis. No exemplo acima, a saída também pode ser:
[1,2,3,5,7,12,29]
Como este é um código-golfe, o código mais curto em bytes vence.
fonte
Respostas:
05AB1E ,
1918 bytesExperimente online!
fonte
Wolfram Language (Mathematica) ,
6260 bytesExperimente online!
fonte
JavaScript (V8) ,
818078 bytes-2 bytes obrigado Arnauld!
Experimente online!
fonte
Python 2 , 92 bytes
Experimente online!
3.169925001442312
2 * numpy.log2(3)
fonte
..., 665, (1995), (4655), 8286, ...
Experimente online!2 * numpy.log2(3)
do que o número totalmente escrito? (Ou melhor aindanumpy.log2(9)
)from numpy import*
elog2(9)
.package::function
sem carregarpackage
primeiro!Limpo ,
128111108 bytesExperimente online!
Deve funcionar até os limites do
Real
tipo de precisão dupla de 64 bits.fonte
MATL ,
2725 bytesExperimente online!
Explicação
fonte
Perl 5 (
-MPOSIX=log2 -M5.01 -n
),73,78, 71 bytesCorrigido o seguinte comentário, pode ser melhorado ...
-7 bytes graças ao Grimy
Experimente online!
fonte