Dado un fragmento de salida de fizz buzz con todos los números eliminados, complete los números correctos con los valores más bajos posibles de modo que el fragmento de fizz buzz sea correcto. A los efectos de este desafío, fizzy buzztienen sus valores habituales de 3 y 5, respectivamente.
Si la entrada es una secuencia no válida de fizz, buzzy líneas vacías, a continuación, en lugar de salida solo zzubzzif(con o sin saltos de línea).
La entrada y la salida pueden ser líneas separadas por una nueva línea, o cualquier formato de matriz de cadenas que sea conveniente para su idioma.
Puede ignorar o hacer lo que quiera con mayúsculas.
Usted tendrá que elegir para manejar uno o más de los siguientes: fizzbuzz, fizz buzz, buzz fizz, etc, pero debe elegir al menos uno de estos formatos.
Usted puede asumir que todas las entradas es de alguna secuencia fizz, buzzy vaciar las líneas.
Ejemplos
Entrada:efervescenciaSalida:
2
fizz
4
Entrada:
zumbido efervescenciaSalida:
buzz
fizz
7
Entrada:
fizzbuzzSalida:
13
14
fizzbuzz
16
17
Entrada:
Salida:
1
Entrada:
efervescencia efervescenciaSalida:
zzubzzif
Entrada:
Salida:
zzubzzif

Respuestas:
Java, 205 bytes
Toma a
String[]como entrada y devuelve aString.Código ampliado y ejecutable:
fuente
C #, 212 bytes
Hice lo impensable. ¡Usé una
gotodeclaración para salir de un bucle!Esto aprovecha el hecho de que la secuencia debe comenzar dentro de los primeros 15 elementos.
Sangría y nuevas líneas de legibilidad:
fuente
breakpalabra clave?gotosalta del bucle interno y sobre el resto de la lógica del bucle externo.gotoC #! ¡Ni siquiera sabía que C # lo tenía!CJam, 72 bytes
El programa saldrá con un error si tiene que imprimir zzubzzif .
Con el intérprete de Java, STDERR puede cerrarse para suprimir un mensaje de error eventual. Si prueba el programa en el intérprete de CJam , ignore todos los resultados después de la primera línea.
Cómo funciona
fuente
Perl, 140 bytes
Explicación
@aes la matriz de líneas de entradawhilebucle,@stiene la secuencia generada de fizz-buzz@xes lo mismo@spero con números reemplazados por cadenas vacías y una nueva línea añadida a cada elemento (para que coincida con@a)$ces un contador de 1 a 15@xvuelve igual que la entrada@a@so zzufzzib en función de si$cestaba en sus límites o nofuente
Python, 176 bytes
Probablemente podría hacerlo mucho mejor, pero primer intento de golf. Consejos apreciados :)
Encogido
Original
fuente
#Java, 205 Bytescomo la primera línea de tu respuesta.'fizz'*(n%3<1)+'buzz'*(n%5<1)Puede eliminar las asignaciones f y b entonces.(f+b)[::-1]entonces puede ser una llamada a un 'fizzbuzz' conocido, por ejemplog(15)[::-1].g(0)también funciona para guardar otro byte :)..] forse puede escribir..]for. Aplicando este truco, obtienes 177 caracteres['','fizz','']También hay algunos más que eliminar si compara la lista de entrada frente a una lista de compilación en lugar de usar all ()if a==[g(i + x) for x in r(l)]