Inspirado en hornear una rodaja de pi
Reto
Dada la entrada 3 <= n <= 100y 3 <= y <= n, construya una n x nmatriz 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 yy concatena juntos. Salida del número resultante.
Por ejemplo, para entrada n = 5, y = 3se construye la siguiente matriz
14159
26535
89793
23846
26433
Entonces, el 3 x 3triángulo superior derecho sería
159
35
3
Así 159353es la salida.
Entrada
Dos enteros, que nrepresentan el tamaño de la matriz cuadrada de los dígitos de pi y que yrepresentan 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 3o 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=3usado 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,3producir el primer dígito de pi,3ya que no es necesario, el algoritmo se inicializa hasta el punto anterior1, lo que ahorra dos bytesaybes más largo ya que el resultado no requiere segmentación yipuede comenzar en0má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íaLpor 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 último9es 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
mvalor 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
py no está integrado en el idioma (que estoy bastante seguro de que no lo está), deberá incluirlo en su puntuación de bytes.