Sfida:
Creare un programma che accetta input di un numero intero diverso da zero e genera i 4 numeri successivi nella sequenza descritta di seguito.
Nota: non è necessario verificare se l'ingresso è effettivamente un numero intero diverso da zero
Sequenza:
Ogni numero in questa sequenza (a parte il primo, che è l'input) deve essere composto da n cifre, dove n è un numero pari. Se dividiamo il numero in n / 2 coppie, per ogni coppia, la prima cifra dovrebbe essere la quantità di volte in cui la seconda cifra è apparsa nel numero precedente
Spiegazione visiva :
prendere in considerazione questo esempio "sequenza di avvio" o input 6577
Il numero successivo nella sequenza dovrebbe apparire così 161527
poiché l'ingresso ha 1 "6", 1 "5" e 2 "7" s.
Se l'input ha troppe cifre (più di 9 di una singola cifra) non si sarebbe in grado di ottenere un risultato corretto
Esempio: 111111111111
(12 1) Il
prossimo numero in sequenza deve descrivere 12 1. Quindi lo dividiamo in 9 1 e 3 1 (somma 9 + 3 = 12)
Numero successivo:9131
Dovresti iterare 4 volte per l'input ed emetterlo (o restituire un elenco / array di 4 numeri interi o emetterlo separandoli con uno spazio, anche le newline sono accettabili)
"Il numero può essere scritto in molti modi, come lo scrivo?" :
Se ci pensate, l'input di esempio 6577
può anche essere scritto come 271516 (due 7, uno 5, uno sei). Tuttavia questo è un output non valido. Dovresti ripetere il numero da sinistra a destra. Quindi 161527. Se fosse 7657
, ripeteresti la quantità di 7, quindi la quantità di 6, quindi la quantità di 5, quindi l'output valido sarebbe271615
Esempio I / O:
Ingresso: 75
Uscita:1715 211715 12311715 4112131715
Ingresso: 1
Uscita:11 21 1211 3112
Ingresso: 111111111111
(12 1)
Uscita:9131 192113 31191213 23411912
Questo è diverso dalla domanda "Dì quello che vedi", perché le sequenze sono diverse: https://oeis.org/A005150 <- Questo restituisce numeri come questo:
Input: 1211 Output: 111221
Mentre la sequenza che sto chiedendo farebbe
Input: 1211 Output: 3112
Le due sequenze sono diverse e richiedono algoritmi diversi.
Sequenza richiesta: https://oeis.org/A063850 Sequenza
"Possibile duplicato": https://oeis.org/A005150
Specifica importante:
Dal momento che non era abbastanza chiaro per alcune persone che hanno cercato di rispondere a questa domanda, l'output corretto per k chars dove k> 9 non è "kc" (dove c è char) ma 9c (k-9) c ecc. Quindi l'output corretto per 12 1 non è 121
(12 1) ma9131
(9 1, (12-9) 1 e così via)
In caso di dubbio, il codice è errato se emette mai un numero con una quantità dispari di cifre (come 121), dovrebbe avere un output di numeri pari a causa della natura della sequenza.
Questo è code-golf quindi vince il codice con meno byte.
23411912
invece di 23411219
?
1111111111111111111
(19 1 )