Inspirado en hornear una rodaja de pi
Reto
Dada la entrada 3 <= n <= 100
y 3 <= y <= n
, construya una n x n
matriz de la porción decimal de pi
( 14159...
), comenzando en la parte superior izquierda. Luego, toma el triángulo de tamaño superior derecho y x y
y concatena juntos. Salida del número resultante.
Por ejemplo, para entrada n = 5
, y = 3
se construye la siguiente matriz
14159
26535
89793
23846
26433
Entonces, el 3 x 3
triángulo superior derecho sería
159
35
3
Así 159353
es la salida.
Entrada
Dos enteros, que n
representan el tamaño de la matriz cuadrada de los dígitos de pi y que y
representan el triángulo superior derecho, en cualquier formato conveniente .
Salida
- El número resultante dividido y concatenado, ya sea impreso / mostrado en la pantalla, devuelto como una cadena, etc.
- El espacio en blanco inicial / final es opcional, siempre que no haya espacios en blanco en la salida (es decir,
159 35 3
o similares no serían válidos). - Tenga en cuenta que dado que estamos buscando explícitamente los dígitos de
pi
, y no una aproximación o cálculo matemático, las respuestas no deben redondear el último dígito de la matriz.
Reglas
- Este es el código de golf, por lo que se aplican todas las reglas habituales para jugar al golf, y gana el código más corto (en bytes).
- Un programa completo o una función son aceptables.
- Las lagunas estándar están prohibidas.
Ejemplos
n y output
-------------
3 3 141923
5 3 159353
6 4 1592589383
6 6 141592535893238643794
20 12 358979323846950288419715820974944628620899211706792306647223172745025559196615
Respuestas:
05AB1E , 19 bytes
Utiliza la codificación CP-1252 .
Pruébalo en línea!
Explicación
n=5, y=3
usado por ejemplofuente
Python 2 (con sympy), 100 bytes
Sin sympy,
260 246 244 233 231218 bytesEsto emplea "El algoritmo de espita para Pi" de Stanley Rabinowitz y Stan Wagon.
Los argumentos estándar serían
a,b,c,d,e,f=0,1,1,1,3,3
producir el primer dígito de pi,3
ya que no es necesario, el algoritmo se inicializa hasta el punto anterior1
, lo que ahorra dos bytesa
yb
es más largo ya que el resultado no requiere segmentación yi
puede comenzar en0
más bien que-1
.Golpea el límite de recursión predeterminado para el último caso de prueba Se
usa
//
para la primera de las divisiones de modo questr(v)
pueda ser reemplazado por`v`
(de lo contrario, terminaríaL
por mucho tiempo).repl.it
Una versión no recursiva para 232 bytes que también evalúa el último caso de prueba:
repl.it (el primer guión es un espacio, el segundo guión es una pestaña)
fuente
Mathematica, 82 bytes
fuente
#&@@
lugar de[[1]]
.1415926535979323846433832798841971937510749448164899259
; el último9
es el centésimo dígito de pi, y el 101º es8
- sin redondeo)MATL,
232227 bytes1 Byte guardado gracias a @Luis
Pruébalo en línea
Explicación
fuente
Perl, 67 bytes
Requiere la opción de línea de comando
-nMbignum=bpi
, contada como 12. La entrada se toma de stdin.Uso de muestra
fuente
C #,
232 bytes268 bytesEditar:
Originalmente usé una cadena constante para Pi fuera del método, pero parece que esto fue una trampa. Tuve que usar el valor C # Math.PI, que solo tiene 14 decimales, por lo que el más alto
m
valor que puedo usar es 3. Volver al tablero de dibujo ...Golfizado:
Sin golf:
No es la respuesta más corta, pero estaba feliz de haber resuelto esta ...
Prueba de salida:
5 3 1593536 4 15925893836 6 14159253589323864379420 12 358979323846950288419715820974944628620899211706792306647223172745025559196615fuente
p
y no está integrado en el idioma (que estoy bastante seguro de que no lo está), deberá incluirlo en su puntuación de bytes.