Desafío:
Cree un programa que tome la entrada de un entero positivo distinto de cero y genere los 4 números siguientes en la secuencia que se describe a continuación.
Nota: No es necesario verificar si la entrada es realmente un entero positivo distinto de cero
Secuencia:
Cada número en esta secuencia (aparte del primero, que es la entrada) estará compuesto de n dígitos, donde n es un número par. Si dividimos el número en n / 2 pares, para cada par, el primer dígito debería ser la cantidad de veces que el segundo dígito apareció en el número anterior
Explicación visual :
Considere este ejemplo "iniciador de secuencia" o entrada 6577
El siguiente número en la secuencia debería verse así 161527
porque la entrada tiene 1 "6", 1 "5" y 2 "7" s.
Si la entrada tiene demasiados dígitos (más de 9 de un solo dígito), no podrá obtener una salida correcta
Ejemplo: 111111111111
(12 1's) El
siguiente número en secuencia debe describir 12 1's. Por lo tanto, lo dividimos en 9 1 y 3 1 (suma 9 + 3 = 12)
Siguiente número:9131
Debe iterar 4 veces para la entrada y generarla (ya sea devolver una lista / matriz de 4 enteros o generarla separándolos con un espacio, las nuevas líneas también son aceptables)
"El número se puede escribir de muchas maneras, ¿cómo lo escribo?" :
Si lo piensa, la entrada de ejemplo 6577
también se puede escribir como 271516 (dos 7, uno 5, uno seis). Sin embargo, esta es una salida no válida. Debe iterar el número de izquierda a derecha. Por lo tanto, 161527. Si fuera 7657
usted, iteraría la cantidad de 7, luego la cantidad de 6 y luego la cantidad de 5, por lo tanto, la salida válida sería271615
Ejemplo de E / S:
Entrada: 75
Salida:1715 211715 12311715 4112131715
Entrada: 1
Salida:11 21 1211 3112
Entrada: 111111111111
(12 1's)
Salida:9131 192113 31191213 23411912
Esto es diferente a la pregunta "Di lo que ves", porque las secuencias son diferentes: https://oeis.org/A005150 <- Este devuelve números como este:
Entrada: 1211 Salida: 111221
Mientras que la secuencia que estoy pidiendo haría
Entrada: 1211 Salida: 3112
Las dos secuencias son diferentes y requieren algoritmos diferentes.
Mi secuencia solicitada: https://oeis.org/A063850 Secuencia
"Posible duplicado": https://oeis.org/A005150
Especificación importante:
Como no era lo suficientemente claro para algunas personas que intentaron responder a esta pregunta, la salida correcta para k caracteres donde k> 9 no es "kc" (donde c es char) sino 9c (k-9) c etc. Por lo tanto, salida correcta para 12 1 no es 121
(12 1) sino 9131
(9 1, (12-9) 1 y así sucesivamente)
Si tiene dudas, su código es incorrecto si alguna vez emite un número con una cantidad impar de dígitos (como 121), debería tener la salida de números de dígitos pares debido a la naturaleza de la secuencia.
Este es el código de golf, por lo tanto, el código con menos bytes gana.
23411912
lugar de 23411219
?
1111111111111111111
(19 1's )