<< 「イニシエーション・ラブ」読了 | top | FizzBuzz問題(4) >>

スポンサーサイト

一定期間更新がないため広告を表示しています

スポンサードリンク | - | | - | - |

FizzBuzz問題(3)

今月は実家に一週間ほど帰省した。
盆はまだ子供の首が据わっていなかったため断念した。
孫の顔を見せてやらねばなるまい、ということで頑張って帰った。

みんなとても喜んでくれてよかった。

実家でのこと。
自分が赤ん坊だったころの写真を見ると息子にそっくりだった。
息子が妻と自分のどちらに似ているかは僕たちでもよくわからず、友人の意見も割れていたのだが、間違いなく僕似だ。
僕としては顔は妻に似てほしかったのだが、まあ自分に似ているというのは嬉しい。

一応妻の実家で妻が赤ん坊だったころの写真もチェックしたのだが、そんなに息子には似ていなかった。
でも保育園頃はなかなかの美少女っぷりだったよ!
"隠れ"妻ファンの僕としては赤ん坊のころからの写真をスキャンして保存しておかなくてはと密かに決心した。

あと、まさか妻の実家でまでプログラムを書くことになるとは思わなかった。
重複した写真を削除するプログラムを書きました。
ネット環境がないのでフリーソフトを拾ってくるわけにもいかず、持って帰っていた自前のpcでプログラムを作って処理しました。
中々楽しかった。
義母にはこんな感じの仕事してますって言ったけど全然違う気もする。

とにかく楽しい帰省だった。
600km運転した甲斐があったというものだ。

////////////////////
久々のFizzBuzz。
お忘れの方のために、2014.1.30の記事を引用。

「FizzBuzz問題はプログラマの試金石として有名だ。
その問題は、1から100までカウントし、3の倍数のとき"Fizz"、5の倍数のとき"Buzz"、3の倍数かつ5の倍数のとき"FizzBuzz"と表示するプログラムを書け、というものだ。」

素直に書くと剰余演算子(余りを求める演算子ね)を使っちゃうんだけど、使わないで書いてみた。
C言語では整数どうしの割り算は小数点が切り捨てられることを利用する。
例えば
1/3 = 0
2/3 = 0
3/3 = 1
4/3 = 1
5/3 = 1
6/3 = 2
7/3 = 2
などとなるので初めて割り算の結果が1,2などとなるときに3の倍数となることがわかる。

#include <stdio.h>

int main()
{
    int n3 = 1 , n5 = 1;
    for(int i=1;i<=100;i++)
    {
        bool flag = false;
        if(i/3 == n3)
        {
            printf("Fizz");
            n3++;
            flag = true;
        }
        if(i/5==n5)
        {
            printf("Buzz");
            n5++;
            flag = true;
        }
        if(flag==false)
        {
            printf("%d" , i);
        }
        printf("¥n");
    }
    return 0;
}
ジャジャガッチ | C/C++ | 21:03 | comments(0) | trackbacks(0) |

スポンサーサイト

スポンサードリンク | - | 21:03 | - | - |
Comment









Trackback
URL:

07
--
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
--
>>
<<
--
PR
RECOMMEND
RECENT COMMENT
MOBILE
qrcode
OTHERS
Since 2013/09/17
LATEST ENTRY
CATEGORY
ARCHIVE
LINKS
PROFILE
SEARCH