Показать сообщение отдельно
Старый 06.12.2012, 22:32   #2  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Если честно, то чудовищная реализация, на мой взгляд.
Избыточное вычисление mod и куча лишнего кода.

с точки зрения вычислений лучше уж так.

X++:
#define.FIZZ(3)
#define.BUZZ(5)
static void FizzBuzzImpl(Args _args)
{
    int i;
    str fizz;
    str buzz;
    ;

    for (i = 1; i <=100; i++)
    {
        fizz = ((i mod #FIZZ) == 0) ? "Fizz" : "";
        buzz = ((i mod #BUZZ) == 0) ? "Buzz" : "";
        if( fizz || buzz )
        {
            info(strfmt("%1%2 %3", fizz, buzz, i));
        }
    }
}
можно было бы отказаться и от переменных fizz, buzz. Но код стал бы менее читаемым.