Definições
- Um número algébrico é um número que é zero de um polinômio diferente de zero com coeficientes inteiros. Por exemplo, a raiz quadrada de
2
é algébrica, porque é um zero dex^2 - 2
. - Um número transcendental é um número real que não é algébrico.
Tarefa
Você deve escolher um número transcendental.
Em seguida, escreva um programa / função que use um número inteiro positivo n
e n
imprima o décimo dígito decimal após o ponto decimal do número transcendental escolhido. Você deve indicar claramente em sua submissão, qual número transcendental é usado.
Você pode usar a indexação 0 ou a indexação 1.
Exemplo
e^2=7.389056098...
é um número transcendental. Para este número:
n output
1 3
2 8
3 9
4 0
5 5
6 6
7 0
8 9
9 8
...
Observe que a inicial 7
é ignorada.
Como mencionei acima, você pode escolher outros números transcendentais.
Pontuação
Isso é código-golfe . A menor pontuação em bytes vence.
Respostas:
Python , 3 bytes
Experimente online!
Pega uma sequência numérica e gera o menor dígito como o menor caractere. Por exemplo,
254
dá2
. O decimal com esses dígitos começaEste é o OEIS A054054 .
Reivindicação: Este número
c
é transcendentalProva: observe que
c
é muito escasso: quase todos os seus dígitos são zero. Isso porque granden
, há alta probabilidade den
ter um dígito zero, fornecendo um dígito mínimo de zero. Além disso,c
possui longas execuções de zeros consecutivos. Usamos um resultado existente que afirma que isso significac
é transcendental.Seguindo esta pergunta math.SE , vamos
Z(k)
representar a posição dok
'th dígito diferente de zero dec
ec_k
seja esse dígito diferente de zero, um número inteiro entre1
e9
. Em seguida, expressamos a expansão decimal dec
, mas assumindo apenas os dígitos diferentes de zero, como a soma acimak=1,2,3,...
dec_k/10^Z(k)
.Usamos o resultado do ponto 4 desta resposta de George Lowther: que
c
é transcendental se houver infinitas execuções de zeros que são pelo menos uma fração constante do número de dígitos até agora. Formalmente, deve haver umε>0
para queZ(k+1)/Z(k) > 1+ε
para infinitamente muitosk
. Vamos usarε=1/9
Para qualquer número de dígitos
d
, tomek
comZ(k) = 99...99
comd
noves. Talk
existe porque esse dígitoc
é a9
e, portanto, diferente de zero. Contando a partir de99...99
, todos esses números contêm um dígito zero, portanto, marca o início de um longo período de zerosc
. O próximo dígito diferente de zero é apenasZ(k+1) = 1111...11
comd+1
os. A proporçãoZ(k+1)/Z(k)
excede um pouco1+1/9
.Isso satisfaz a condição de todos
d
, implicando o resultado.fonte
min
ela mesma não recebe nenhuma entrada e não fornece nenhuma saída, algo que parece ser um requisito da pergunta. Certamente, é a principal função do todo, mas não faz nada sem o gerador e a declaração de impressão aparentes no 'Experimente online'.Pitão, 1 byte
Entrada e saída são strings. A função pega o primeiro dígito do índice. O número transcendental resultante é semelhante a:
0.0123456789111111111122222222223 ...
Isso é transcendental porque é
1/9
mais um número que tem trechos de zeros de comprimento pelo menos uma fração constante do número. Com base nesta resposta math.stackexchange , isso significa que o número é transcendental.Existem trechos de zeros que vão de dígito
100 ... 000
a199 ... 999
, portanto, a proporção deZ(k+1)
aZ(k)
é 2 infinitamente.Assim, o número acima menos
1/9
é transcendental e, portanto, o número acima é transcendental.fonte
Python 2 , 19 bytes
O n th dígito é um , se n é uma potência de 2 e 0 de outro modo.
Experimente online!
fonte
n&~-n>0
é mais curto a propósito.brainfuck, 2 bytes
Da mesma forma que em outras respostas, retorna o primeiro dígito decimal e ignora o restante.
fonte
Geléia , 3 bytes
Usa a constante de Liouville.
Experimente online!
fonte
Retina, 4 bytes
Retorna o primeiro dígito do número de entrada. Como essa porta era muito chata, aqui estão mais algumas portas:
(8 bytes) Retorna o dígito mínimo do número de entrada.
(25 bytes) Retorna 1 se o número de entrada for uma potência de 2.
(30 bytes) Constante de Champernowne.
fonte
Braquilog 2, 7 bytes
Experimente online!
Calcula dígitos da constante Champernowne (possivelmente dez vezes uma potência de dez devido a problemas de indexação, o que claramente não importa aqui). Basicamente, isso apenas concatena números inteiros e leva o enésimo dígito.
fonte
⟦₁
?0123
não é um número (ele tem um zero à esquerda, que não se encaixa no conceito de Brachylog sobre o que é um número).Python 2, 13 bytes
Entrada e saída são strings.
O nono dígito do número é o dígito mais significativo de n quando é escrito em decimal.
fonte
MATL , 7 bytes
Isso usa o primeiro dos dois números dados aqui, dividido por 3 (que mantém a transcendência ):
A entrada é baseada em 1. Experimente online! Ou veja as 20 primeiras casas decimais .
Explicação
fonte
JavaScript, 51 bytes
Esta função calcula o
n
dígito da constante de Champernowne. Adicionef=
no início e chame likef(arg)
. Observe quen
é 1 indexado.Explicação
Esta função recebe um único argumento
n
. Em seguida, ele cria uman
cadeia de caracteres de 1s repetitiva. Em seguida, divide essa String em uma matriz de 1s. Depois disso, ele itera sobre todos os elementos da Matriz e os multiplica com seu índice na Matriz incrementado por 1. Em seguida, junta a Matriz sobre""
(String vazia) para formar uma String. Por fim, ele retorna on
th elemento da String obtida.Nota: O tipo do valor retornado é sempre String .
Snippet de teste
fonte
Python 2, 43 bytes
Champernowne é constante.
fonte
n+1
?APL (Dyalog) , 3 bytes
Experimente online! (a suíte de testes gera um intervalo de números de
1
para10000
, converte-os em uma sequência e aplica o trem2|⍴
neles).Pega o número de entrada como uma string e retorna seu comprimento mod 2. Então
123
=>3 mod 2
=>1
.A sequência começa assim:
então isso pode ser generalizado da seguinte forma:
9 1s 90 0s 900 1s ...
Multiplicar esse número por 9 nos dá um número de Liouville , que é comprovadamente transcendental.
fonte
1 - 10^-9 + 10^-99 - 10^-999 + 10^-9999 - 10^-99999 + ...
, por isso é um número de Liouville.Haskell,
25 bytes17 bytesA constante de Champernowne pode ser 0 ou 1 indexada, pois C10 * .01 ainda é transcendental.
Editar: de acordo com o comentário nimis, você pode usar a mônada da lista para reduzir isso para
fonte
=<<
da lista mônada éconcat.map
:(!!)$show=<<[1..]
.JavaScript, 73 bytes
Este é um programa que calcula o
n
th dígito da constante de Liouville, onden
é o número de entrada fornecido pela chamada da funçãog
comog(arg)
(en
é indexada em 1). Observe que a nova linha no código é necessária.Explicação
O programa consiste em duas funções,
f
eg
.f
é uma função recursiva de computação fatorial eg
é a principal função do programa.g
assume ter um único argumenton
. Ele define um argumento padrãor
com um valor de 0. Ele, então, itera sobre todos os Inteiros de 0 an
e, em cada iteração, verifica se a funçãof
aplicada sobrei
(o índice atual) é igualn
, ou seja, sen
é um fatorial dei
. Se esse for o caso,r
o valor de é definido como 1. No final da função,r
é retornado.Snippet para teste
Aviso: não coloque um valor muito grande na caixa de entrada do Snippet! Caso contrário, seu dispositivo poderá congelar!
fonte
Pitão,
754 bytesExperimente online!
Usa a constante de Champernowne.
Economizou
23 bytes graças a Leaky Nun.fonte
jk
para substituirsm`d
, acredito.S
vez deUh
?S
começa com1
eU
começa com0
.Java 8, 18 bytes
Igual à resposta de Dennis para Python 2 , o número de Fredholm
fonte
(n-1)
pode ser~-n
ou--n
salvar 2 bytes. Ou você pode ter exatamente o mesmo que a resposta de Dennis :n->1>>(n&~-n)
ou1>>(n&--n)
.Geléia , 1 byte
Experimente online!
Primeiro dígito da entrada indexada em 0 entre aspas. 1
1 Veja a resposta de isaacg para comprovação de validade.
fonte
Carvão , 24 bytes (não competitivo)
Experimente online!
Nota: No momento desta postagem, não funciona para
n
onden
é um múltiplo positivo de 14.Explicação
fonte
GetVariable(Pi)
? Então, não háπ
variável predefinida?π
igual a pi, porque esta é uma linguagem orientada ASCII-arte, não uma orientada a matemática umJapt ,
31 + 1 = 21 byteOutro porto da solução do feersum .
Recebe a entrada como uma sequência.
Experimente online
Explicação
fonte
g
para 1 byte :)TI-BASIC, 16 bytes
Testa basicamente se a entrada
N
(indexada 1) é um número triangular. É o mesmo que retornar oN
th dígito de 0.1010010001…, que é comprovadamente transcendental. A sequência de dígitos é OEIS A010054 .fonte
Fourier, 16 bytes
Experimente online!
Como outras respostas, gera o primeiro dígito da entrada.
Uma explicação do código:
fonte
JavaScript (ES6)
Apenas algumas portas de outras soluções
solução Python do feersum , 12 bytes
Mostrar snippet de código
Solução Python de Dennis , 13 bytes
Mostrar snippet de código
Solução Python do xnor , 20 bytes
fonte
Flacidez cerebral , 6 + 3 (
-c
) = 9 bytesExperimente online!
Primeiro dígito da entrada da string de índice 0 (daí o
-c
sinalizador).fonte
C #, 13 bytes
Da solução de feersum. Quase a mesma solução que a porta js.
Experimente online
fonte
05AB1E ,
31 byteEDIT : Usando a prova das outras respostas, retorna o primeiro dígito da entrada
1 indexado para π (apenas até 100000 dígitos)
Como funciona
Ou, se você preferir e (ainda com 1 indexação) (apenas até 10000 dígitos)
Experimente online!
fonte
J, 2 bytes
A mesma solução que todo mundo está usando:
Retorna o primeiro dígito de n. IO está em strings
Constante de Liouville, 9 bytes
Retorna
1
se input é o fatorial de um número inteiro.Pi, 13 bytes
O último dígito não decimal de pi vezes 10 ^ n.
fonte
Geléia , 2 bytes
Experimente online!
Tome o comprimento do número de entrada módulo 2. Equivalente a esta resposta do APL .
fonte
Dreaderef , 5 bytes
Experimente online!
Retorna o primeiro dígito da entrada.
fonte
Momema , 5 bytes
Experimente online!
Retorna o primeiro dígito da entrada.
fonte
Linguagem de programação de Shakespeare , 76 bytes
Experimente online!
fonte