GodzilLe 14/05/2015 à 09:57
Le 101 est plutot clair pourtant, mais tu prefere tu peux ecrire (100 + 1), mais bon
Si tu ne sais pas que si tu ecrit x < 100 tu ne vas pas jusqu'a 100 alors que l'enoncé demande d'aller de 1 a 100.
et ecrire x <= Y c'est juste moche.
Kevin: tu semble bien mal connaitre le boulot fait par un optimisateur. plus ton code est complexe, moins il a de chance d'etre correctement optimisé, et non tu ne ferra pas mieux dans 99% des cas que l'optimisateur du language.
Pen²: je ne suis pas d'accord sur la "répétition" du code, le compilateur est loin d'etre idiot et est tout a fait capable de detecter ce genre de choses, et au contraire ca rends le code plus limite.
Apres libre a toi de faire un truc comme:
#define HIGH_LIMIT (100)
for(x=0; x < (HIGH_LIMIT + 1); x++)
{
bool isMul3 = ( x == ((x / 3) * 3) );
bool isMul5 = ( x == ((x / 5) * 5) );
if (isMul3) printf("Fizz");
if (isMul5) printf("Buzz");
if (!isMul3 && !isMul5) printf("%d", x);
printf("\n");
}
mais tu sais, ton compilateur a 99.9999% de chance de generer un code identique a ce que je viens de faire la. Alors pourquoi se faire chier a ecrire du code plus complexe pour, par grand chose?
Edit: ajout du printf("\n"); manquant