AGGIORNAMENTO : la presentazione di Pyth di isaacg è il vincitore!
Molti di voi devono aver sentito che in città esiste una versione più interessante di JavaScript (leggi ES6) che ha un metodo String.prototype.repeat
che puoi fare
"Hello, World!".repeat(3)
e prendi
"Hello, World!Hello, World!Hello, World!"
come uscita.
Il tuo compito è scrivere una funzione o un programma in una lingua a tua scelta che rilevi se una stringa è stata sottoposta a tale trasformazione.
cioè la stringa di input può essere rappresentata come una n
ripetizione esatta dei tempi di una stringa più piccola. L'output (come istruzione return della funzione o STDOUT) dovrebbe essere veritiero se la stringa può essere o falsa se la stringa non può essere rappresentata come ripetizione di una stringa più piccola.
Alcuni input di esempio:
"asdfasdfasdf" // true
"asdfasdfa" // false
"ĴĴĴĴĴĴĴĴĴ" // true
"ĴĴĴ123ĴĴĴ123" // true
"abcdefgh" // false
Si noti che l'ultimo input è falso, quindi n
dovrebbe essere maggiore di1
Regole complete
- Scrivi una funzione / programma in qualsiasi lingua per inserire (tramite argomento funzione / riga di comando args / STDIN) una stringa
- Restituisce / stampa il valore di verità se la stringa data viene formata tramite una ripetizione esatta di una stringa più piccola, ripetendo almeno due volte.
- La dimensione massima della stringa di input è idealmente Infinity
- La stringa può avere tutti i possibili caratteri ASCII
- Questo è un codice-golf che vince il codice più piccolo in caratteri.