Seu desafio é imprimir x
dígitos de pi onde x
está o tamanho do seu código.
Exemplos:
Source code (length) -> output
foo! (4) 3.141
foobar (6) 3.14159
kinda long (10) 3.141592653
+++++ (5) 3.1415
123456789 (9) 3.14159265
Você pode usar para determinar o número de dígitos que você precisa imprimir. Observe que o ponto decimal não conta como um dígito de pi - portanto, o código de comprimento 3 deve ter saída , de comprimento 4.floor(π/10 * 10code_length) / 10code_length - 1
3.14
Regras:
- O tamanho do seu código deve ter mais de três caracteres.
- Você não pode usar nenhuma brecha padrão.
- Você pode usar qualquer método de saída padrão permitido.
- Você não pode ler sua fonte para determinar o tamanho do código.
- Você não pode usar uma constante pi interna.
- Pi deve ser completamente preciso e não aproximado.
- O ponto decimal na saída é necessário. Se você optar por imprimir via valor de retorno, deverá retornar um número inteiro de ponto flutuante.
- O objetivo deste desafio é encontrar a solução mais curta em cada idioma, não o idioma mais curto para a solução. Não tenha medo de postar uma solução em um idioma quando uma solução mais curta for postada no mesmo idioma, desde que sua solução use um método diferente.
3
permitido?Respostas:
Japonês ,
94 bytesTão curto quanto ele pode ser permitido :)
Inclui um não imprimível (avanço de linha reverso, código 141) após o
#
.Teste-o
No Japt, qualquer caractere a seguir
#
é convertido em seu código de caractere e anexado a qualquer dígito ou ponto decimal que possa precedê-lo; nesse caso, o3.
fonte
Mathematica, 18 bytes
usando a função zeta
Experimente online!
fonte
Geléia , 9 bytes
Experimente online!
Saídas
3.14159265
Como funciona
fonte
VBA (Excel), 15 bytes
Saída: 3.14159265358979
Eu acho que isso não é aceitável, pois joguei apenas para ajustar o comprimento do PI. O comprimento não-golfe é de 17 bytes. D:
fonte
Atn
acidental? Eu não tenho certeza se isso é permitido ... perguntando OPGelatina , 6 bytes
Experimente online!
Impressões
3,14159
com o separador decimal "europeu" permitido,
,.Como?
fonte
,'
lá.-ÆAær5
e usar em.
vez de,
, mas seria o mesmo que minha solução Jelly.Python 3 , 64 bytes
Experimente online!
fonte
print'3.%d'%int('3p3aqd50r7654t9ywkfkgsm0yx0bikcluxlhsm',36)
.SOGL V0.12 ,
1097 bytesExperimente aqui!
Explicação:
fonte
Desmos , 130 bytes
O código-fonte para isso (que pode ser acessado copiando e colando dentro e fora do Desmos) não é ideal quando gerado usando o editor do Desmos; portanto, alguns bytes de espaço em branco foram reduzidos sempre que possível.
Isso define uma função
f
que não aceita argumentos, retorna pi, calculada usando a sequência Gregory parak=9^9
(não posso confirmar se isso é preciso o suficiente, no entanto, acredito que seja, ela pode ser mais precisa com um valor maior de k ) , então coloca o resultado em128
casas decimais, que, ao lado de3.
, são o comprimento do código-fonte.Experimente online!
fonte
3.14159265617
, estou olhando no lugar errado; preciso apertar um botão?Carvão , 8 bytes
Experimente online!
Apenas uma string compactada.
fonte
Javascript, 16 bytes
fonte
CJam , 5 bytes
Experimente online!
Como funciona
fonte
3.E
. : P, de qualquer maneira, abuso incrível de IO.3'.EF
, mas então eu vi esta resposta ...Neim , 5 bytes
Explicação:
Experimente online!
fonte
APL, 6 bytes
Toma a parte imaginária de ln (-1).
Experimente online!
fonte
J , 16 bytes
Experimente online!
Semelhante à resposta do VBA. Saídas:
3.141592653589793
.fonte
_3 o.1
calcula atan (1). Como você deve saber, eu estou bem ciente das regras.Math.JS , 17 bytes.
São 5 espaços principais
Isso calcula até 15 casas decimais e o imprime implicitamente.
Experimente Online!
fonte
ln(-1)
, mas como é um número puramente imaginário, é equivalente a dividir pori
.05AB1E , 11 bytes
Experimente online!
USANDO BUILT-INS:
05AB1E , 4 bytes
Experimente online!
3žs
não funciona por algum motivo ...fonte
E3.
, estou com raiva de mim mesmo agora: p.ForceLang , 269 bytes
fonte
MATL ,
98 bytesExperimente online!
Explicação:
Guardado um byte graças a Luis Mendo!
fonte
Gelatina , 6 bytes
Experimente online!
Usa uma abordagem diferente das outras respostas Jelly.
Como?
-ÆA
é cosseno inverso de-1
(que é pi),ær5
recupera a seção necessária. Funcionou tão arredondamento é equivalente a truncamento neste casofonte
Haskell , 15 bytes
Experimente online!
Usando a fórmula @JungHwanMin.
fonte
Perl 5, 40 bytes
Requer a opção de linha de comando
-pMbignum
, contada como 8.Uso da amostra:
Peço desculpas por nenhum link TIO, ele não parece suportar
bignum
(ou uma chave de abertura incomparável ...).fonte
MEU , 7 bytes
Experimente online!
Como?
’
, diminua a parte superior da pilha (0
aparece se estiver vazia, tornando a pilha[-1]
). (Mesmo símbolo que Jelly)2
empurre2
.ō
, como o topo da pilha é dois, descarte o2
, popn
e pressioneacos(n)
(em radianos, isso fornece pi, este símbolo estáo
com um sinal negativo em cima).o
(para trigonométricas normais) vem da APL)."
, pop o elemento superior da pilha e empurre-o como uma string.8
empurre8
.↑
, popa
eb
pressioneb[:a]
(Este é outro símbolo retirado do APL).↵
, imprima com uma nova linha (OUTPUT <- STACK).fonte
RPL (HP48), 86,5 bytes, 87 dígitos [Isso conta?]
GROB é uma palavra-chave de imagem. Os 2 números a seguir são largura e altura. Os dígitos hexadecimais a seguir são bitmap. São 1 byte de armazenamento para cada 2 dígitos, mais os metadados da imagem.
Programa vazio
« »
leva 10 bytes. Um comando ocupa 2,5 bytes. Um float ocupa 10,5 bytes, mas se for igual a um número inteiro de um dígito, pode levar 2,5 bytes.A HP48 armazena 4 em vez de 8 bits em cada local da memória; portanto, um byte ocupa 2 locais consecutivos (low endian). Geralmente, são usados pedaços de 20 bits e eles levam 2,5 bytes (não 3).
fonte
> <> , 16 bytes
Experimente online!
Há alguns imprimíveis lá dentro, o primeiro tendo valor 26 e o segundo 141.
fonte
Pitão , 9 bytes
Experimente aqui.
Trabalha com o fato de que .
fonte
Ruby , 16 bytes
Experimente online!
fonte
Excel VBA, 16 bytes
Funções de janela imediata do VBE anônimo que não recebem entrada nem saída para nenhum dos STDOUTs do Excel VBA
Cada linha representa uma função separada que retorna Pi de comprimento 16
fonte
Oitava , 16 bytes
Experimente online!
Estou tendo dificuldade para imaginar como isso poderia ser mais curto ...
fonte
PHP, 14 bytes
Experimente online!
Um pouco complicado, mas a precição de
M_PI
é3.1415926535898
fonte
TI-BASIC, 7 bytes
Essas três instruções serão impressas
3.141593
.Nota: TI-BASIC é um idioma tokenizado. Contagem de caracteres não é igual à contagem de bytes.
fonte