Teniendo en cuenta la entrada del primer número y el segundo número (ambos números enteros positivos, cero exluded), determinar de cuántas maneras se puede hacer la segunda de la primera, mediante las acciones siguientes: +1
, +2
y *3
. Las operaciones simplemente se aplican de izquierda a derecha.
Ejemplos:
Entrada:
1 2
. Salida:1
. Es decir, solo podías2
hacerlo+1
, así que de una manera.Entrada:
1 3
. Salida:3
. Es decir, podrías obtener 3 haciendo+2
o o+1+1
, o*3
Entrada:
1 4
. Salida:4
.Entrada:
2 6
. Salida:6
.Entrada:
2 7
. Salida:9
.Entrada:
1 10
. Salida:84
.
En caso de que no haya formas, por ejemplo 100 100
, o 100 80
, la salida es 0
.
También puede tomar la entrada como una matriz o cadena con cualquier separador conveniente.
La solución más corta gana.
*3 +2 +1
tantas veces como desee, luego aplicar+1
para llegar a 0.Respuestas:
Pyth -
2624 bytesParece que hay un error en Pyth que hace que tome entradas en el orden incorrecto, pero de todos modos no debería importar.
Test Suite .
(
1 10
Tiempo de espera en línea, pero funcionó en mi computadora).fuente
10
, pero es muuuuy lento PythJavascript ES6,
4544 bytesEjecuciones de ejemplo:
fuente
=B
y(B=)
(b
omitido a propósito) tiene 6 caracteres y la alternativa es pasar,b
3 veces a las llamadas recursivas, que también tiene 6 caracteres. De todos modos, buen trabajo.Pyth, 29 bytes
Pruébalo en línea!
Define una función. Se agregaron tres bytes en el enlace para llamar a la función.
fuente