Escriba un programa que tome dos enteros como entrada; el primero puede ser cualquier número entero y el segundo es menor o igual que el número de dígitos en el primer número. Deje que estos números sean ay brespectivamente.
El programa hará lo siguiente
- Concatene un número mínimo de
1s al final deamodo que el número de dígitosasea divisible porb. - Dividir a lo
alargo de cadabdígito. - Multiplique los dígitos en cada sección juntos.
- Concatene los productos juntos (si uno de los números es cero, entonces concatene
0). - Repita este proceso hasta que
bse forme un número con estrictamente menos de dígitos. Imprima esto como la salida, así como también se repite el número del proceso. Las unidades no son necesarias, pero sí alguna forma de separación entre el número final y el número de iteraciones.
En los siguientes casos de prueba, los pasos individuales se muestran con el propósito de comprender. No es necesario que su programa muestre los pasos.
Caso de prueba 1
1883915502469, 3
Pasos
1883915502469 //Iteration 1
188391550246911
188 391 550 246 911
64 27 0 48 9
64270489 //Iteration 2
642704891
642 704 891
48 0 72
48072 //Iteration 3
480721
480 721
0 14
014 //Iteration 4
0
Salida de muestra :0, 4
Caso de prueba 2
792624998126442, 4
Pasos
792624998126442 //Iteration 1
7926249981264421
7926 2499 8126 4421
756 648 96 32
7566489632 //Iteration 2
756648963211
7566 4896 3211
1260 1728 6
126017286 //Iteration 3
126017286111
1260 1728 6111
0 112 6
01126 //Iteration 4
01126111
0112 6111
0 6
06
Salida de muestra :06, 4
El programa debe devolver un error (o simplemente no imprimir nada) si b>len(a). Además, bno puede ser igual a 1 o el programa dará como resultado un bucle infinito.
Este es el código de golf, por lo que se aplican reglas estándar. El código más corto en bytes gana.

ay también se incluyen en la salida?Respuestas:
CJam, 42 bytes
Pruébalo aquí.
fuente
Perl 6, 116 bytes
fuente
Pyth, 32 bytes
Demostración
Toma entrada en dos líneas,
aseguido deb. Da salida en dos líneas, operaciones seguidas de resultado.Almohadilla:
+z*\1%_lzQPicar:
c ... QConvertir a lista de entradas:
sMMTomar productos:
*MConvertir de nuevo a str:
jkAsignar de nuevo:
=zVerifique la terminación:
<l ... QImprimir iteraciones tomadas:
f ... )Resultado de impresión:
zVerificación inicial de si imprimir algo en absoluto:
IglzQfuente