パスワードを忘れた? アカウント作成
494257 journal

Yumomo-Rの日記: Fizz-Buzz問題

日記 by Yumomo-R
if文と剰余演算子、あとitoa()関数を使わずにループ内を1行にできないか悪戦苦闘した結果を残しておきます。

#include <stdio.h>

int main(void);

int main(void)
{
        int i;

        for (i = 1; i < 101; i++)
                printf("%c%c%c%c%c%c%c%c\n",

                        (((i / 15) * 15) == i ? 'F' :
                                (((i / 3) * 3) == i ? 'F' :
                                        (((i / 5) * 5) == i ? 'B' :
                                                (i / 100) != 0 ? ('0' + (i / 100)) : '\0'
                                        )
                                )
                        ),

                        (((i / 15) * 15) == i ? 'i' :
                                (((i / 3) * 3) == i ? 'i' :
                                        (((i / 5) * 5) == i ? 'u' :
                                                ((i / 10) - ((i / 100) * 10)) != 0 ? ('0' + ((i / 10) - ((i / 100) * 10))) : '\0'
                                        )
                                )
                        ),

                        (((i / 15) * 15) == i ? 'z' :
                                (((i / 3) * 3) == i ? 'z' :
                                        (((i / 5) * 5) == i ? 'z' :
                                                ('0' + (i - ((i / 10) * 10)))
                                        )
                                )
                        ),

                        (((i / 15) * 15) == i ? 'z' :
                                (((i / 3) * 3) == i ? 'z' :
                                        (((i / 5) * 5) == i ? 'z' :
                                                '\0'
                                        )
                                )
                        ),

                        (((i / 15) * 15) == i ? 'B' : '\0'),
                        (((i / 15) * 15) == i ? 'u' : '\0'),
                        (((i / 15) * 15) == i ? 'z' : '\0'),
                        (((i / 15) * 15) == i ? 'z' : '\0')

                );

        return;
}

……いやもう、「三項演算子の条件式はもっと整理できるはず」とか、そういうツッコミは勘弁してください…… orz
この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
typodupeerror

犯人は巨人ファンでA型で眼鏡をかけている -- あるハッカー

読み込み中...