viernes, marzo 02, 2007

FizzFuzz

Mi solución al FizzFuzz en C (la de Java es muy parecida):

/*
* Solucion FizzFuzz
* Juparave
* 2 de marzo 2007
*/
#include <stdio.h>

int main(int argc, char** argv){
int i;

for (i = 0; i < 100; i++) {
if( !(i % 3) )
printf("fizz");
if( !(i % 5) )
printf("fuzz");
if( (i % 3) * (i % 5) )
printf("%d", i);
printf("\n");
}
}

El FizzFuzz no es mas que listar números del 1 al 100, pero cuando este número sea múltiplo de 3 en lugar imprimir fizz y cuando sea multiplo de 5 imprimir fuzz. Cuando sea múltiplo de 3 y de 5 imprimir fizzfuzz. Parece un problema sencillo y cualquiera que se jacte de ser programador debe de tardar menos de 2 minutos en resolverlo... sin comentarios

6 comentarios:

Sandra Becerril dijo...

Iba a entrar al otro de juparave pero no pude!! buuuuu

besos

Anónimo dijo...

interesante solucion, pero podrias hacerlo mejor, piensalo

Marxtamoros dijo...

no creo que se pueda hacer de otra forma excepto diviendo con "%" modulos para obtener el residuo verdad jupa?

juparave dijo...

Pues estoy usando módulo de 3 y de 5 para la operación, los que no dan cero pues son el resto de los números.

Mi cabezita no me dá para más en este momento. Lo dejaré para un rato de fuerte inspiración.

Saúl dijo...

claro que se puede hacer mejor, además dijíste números del 1 al 100, no del 0 al 99, 0 no es múltiplo de 3 y 5, checa esto:

for (i = 1; i <= 100; i++)
{
if(!(i % 3))
printf("fizz");
if(!(i % 5))
printf("fuzz");
else if(i % 3)
printf("%d", i);
puts("");
}

juparave dijo...

Tienes razón Saúl, mi solución está desde 0 al 99. Me gustó tu solución, jala bien.