Su desafío es imprimir x
dígitos de pi donde x
está la longitud de su código.
Ejemplos:
Source code (length) -> output
foo! (4) 3.141
foobar (6) 3.14159
kinda long (10) 3.141592653
+++++ (5) 3.1415
123456789 (9) 3.14159265
Puede usar para determinar la cantidad de dígitos que necesita imprimir. Tenga en cuenta que el punto decimal no cuenta como un dígito de pi, por lo que el código de longitud 3 debe tener salida , de longitud 4.floor(π/10 * 10code_length) / 10code_length - 1
3.14
Reglas:
- La longitud de su código debe ser mayor de tres caracteres.
- No puede usar ninguna laguna estándar.
- Puede usar cualquier método de salida estándar permitido.
- No puede leer su fuente para determinar la longitud del código.
- No puede usar una constante pi incorporada.
- Pi debe ser completamente preciso y no aproximado.
- El punto decimal en la salida es necesario. Si elige generar a través del valor de retorno, debe devolver un entero de punto flotante.
- El objetivo de este desafío es encontrar la solución más corta en cada idioma, no el idioma más corto para la solución. No tenga miedo de publicar una solución en un idioma cuando se publique una solución más corta en el mismo idioma siempre que su solución utilice un método diferente.
3
permitido?Respuestas:
Japt ,
94 bytesTan corto como sea posible :)
Incluye un no imprimible (avance de línea inversa, charcode 141) después de
#
.Pruébalo
En Japt, cualquier siguiente carácter
#
se convierte a su código de carácter y se agrega a cualquier dígito o punto decimal que pueda precederlo, en este caso el3.
fuente
Mathematica, 18 bytes
usando la función zeta
Pruébalo en línea!
fuente
Jalea , 9 bytes
Pruébalo en línea!
Salidas
3.14159265
Cómo funciona
fuente
VBA (Excel), 15 bytes
Salida: 3.14159265358979
Creo que esto no es aceptable ya que jugué golf solo para que se ajuste a la longitud del PI. La longitud sin golf es de 17 bytes. RE:
fuente
Atn
ardiente? No estoy seguro de si esto está permitido ... preguntando a OPJalea , 6 bytes
Pruébalo en línea!
Grabados
3,14159
con el separador decimal permitido "europeo",,
.¿Cómo?
fuente
,'
allí.-ÆAær5
y usar en.
lugar de,
, pero sería lo mismo que mi solución Jelly.Python 3 , 64 bytes
Pruébalo en línea!
fuente
print'3.%d'%int('3p3aqd50r7654t9ywkfkgsm0yx0bikcluxlhsm',36)
.SOGL V0.12 ,
1097 bytesPruébalo aquí!
Explicación:
fuente
Desmos , 130 bytes
El código fuente para esto (al que se puede acceder copiando y pegando dentro y fuera de Desmos) no es óptimo cuando se genera usando el editor Desmos, por lo que se redujeron unos pocos bytes de espacio en blanco cuando fue posible.
Esto define una función
f
que no toma argumentos devuelve pi, calculada usando la secuencia de Gregory parak=9^9
(no puedo confirmar que sea lo suficientemente precisa, sin embargo, creo que es así, puede hacerse más precisa con un mayor valor de k ) luego128
coloca el resultado en decimales, que, junto con3.
, es la longitud del código fuente.Pruébalo en línea!
fuente
3.14159265617
, estoy mirando en el lugar equivocado; ¿Necesito presionar un botón?Carbón de leña , 8 bytes
Pruébalo en línea!
Solo una cuerda comprimida.
fuente
Javascript, 16 bytes
fuente
CJam , 5 bytes
Pruébalo en línea!
Cómo funciona
fuente
3.E
. : P, de cualquier manera, sorprendente abuso de IO.3'.EF
, pero luego vi esta respuesta ...Neim , 5 bytes
Explicación:
Pruébalo en línea!
fuente
APL, 6 bytes
Toma la parte imaginaria de ln (-1).
Pruébalo en línea!
fuente
J , 16 bytes
Pruébalo en línea!
Similar a la respuesta de VBA. Salidas:
3.141592653589793
.fuente
_3 o.1
calcula atan (1). Como habrás sabido, soy muy consciente de las reglas.Math.JS , 17 bytes.
Eso es 5 espacios principales
Esto calcula a 15 decimales, e implícitamente lo imprime.
¡Pruébelo en línea!
fuente
ln(-1)
, pero dado que es un número puramente imaginario, es equivalente a dividir pori
.05AB1E , 11 bytes
Pruébalo en línea!
UTILIZANDO INSTRUMENTOS:
05AB1E , 4 bytes
Pruébalo en línea!
3žs
no funciona por alguna razón ...fuente
E3.
, ahora estoy enojado conmigo mismo: p.ForceLang , 269 bytes
fuente
MATL ,
98 bytesPruébalo en línea!
Explicación:
¡Ahorré un byte gracias a Luis Mendo!
fuente
Jalea , 6 bytes
Pruébalo en línea!
Utiliza un enfoque diferente al de las otras respuestas de Jelly.
¿Cómo?
-ÆA
es el coseno inverso de-1
(que es pi),ær5
recupera la sección necesaria. Funcionó, por lo que el redondeo es equivalente al truncamiento en este casofuente
Haskell , 15 bytes
Pruébalo en línea!
Usando la fórmula @JungHwanMin.
fuente
Perl 5, 40 bytes
Requiere la opción de línea de comando
-pMbignum
, contada como 8.Uso de muestra:
Pido disculpas por no haber un enlace TIO, no parece ser compatible
bignum
(o una llave de apertura inigualable ...).fuente
MI , 7 bytes
Pruébalo en línea!
¿Cómo?
’
, disminuye la parte superior de la pila (0
aparece si está vacío, haciendo que la pila[-1]
). (Mismo símbolo que Jelly)2
, empujar2
.ō
, ya que la parte superior de la pila es dos, descarta el2
popn
, luego presionaacos(n)
(en radianes, esto da pi, este símbolo tieneo
un signo negativo encima.o
(para trigonometría normal) proviene de APL)."
, haga estallar el elemento superior de la pila y empújelo como una cadena.8
, empujar8
.↑
, popa
entoncesb
, empujeb[:a]
(Este es otro símbolo tomado de APL).↵
, salida con una nueva línea (OUTPUT <- STACK).fuente
RPL (HP48), 86.5 bytes, 87 dígitos [¿Esto cuenta?]
GROB es una palabra clave de imagen. Los 2 números que siguen son ancho y alto. Los dígitos hexadecimales que siguen son mapas de bits. Eso es 1 byte de almacenamiento por cada 2 dígitos más los metadatos de la imagen.
Programa vacío
« »
toma 10 bytes. Un comando toma 2.5 bytes. Un flotante toma 10.5 bytes, pero si es igual a un entero de un solo dígito, puede tomar 2.5 bytes.HP48 almacena 4 en lugar de 8 bits en cada ubicación de memoria, por lo que un byte ocupa 2 ubicaciones consecutivas (low endian). A menudo se utilizan fragmentos de 20 bits, y toman 2.5 bytes (no 3).
fuente
> <> , 16 bytes
Pruébalo en línea!
Hay un par de no imprimibles allí, el primero tiene un valor de 26 y el segundo 141.
fuente
Pyth , 9 bytes
Pruébalo aquí.
Funciona con el hecho de que .
fuente
Ruby , 16 bytes
Pruébalo en línea!
fuente
Excel VBA, 16 bytes
Funciones de ventana inmediata anónima de VBE que no requieren entrada ni salida a ninguno de los STDOUT de Excel VBA
Cada línea representa una función separada que devuelve Pi de longitud 16
fuente
Octava , 16 bytes
Pruébalo en línea!
Me está costando imaginar cómo esto podría ser más corto ...
fuente
PHP, 14 bytes
Pruébalo en línea!
Un poco complicado, pero la prohibición de
M_PI
es3.1415926535898
fuente
TI-BASIC, 7 bytes
Estas tres declaraciones se imprimirán
3.141593
.Nota: TI-BASIC es un lenguaje tokenizado. El recuento de caracteres no es igual al recuento de bytes.
fuente