http://d.hatena.ne.jp/keyword/FizzBuzz
に厳密に解釈すると、15の場合には「FizzBuzzFizzBuzz」となる、とあります。
なぜ、繰り返しになるのかが分かりません。
どうしてでしょうか?
No.1ベストアンサー
- 回答日時:
仕様(条件)を列挙します
3 で割り切れるならば数字の代わりに Fizz
5 で割り切れるなら Buzz
3 でも 5 でも割り切れる場合は、FizzBuzz
です。
人間の頭で解釈すると、 3でも5でも割れるときを「公倍数」といいますよね。
ですから人間の頭の中の解釈は今までの経験上で培ってきた「感覚」や「常識」で判断されていまします
つまり、
公倍数の時に、 3で割れる数 5で割れる数。 という二つの条件が重なった1つの条件である と判断し、3だけで割れる数。5だけで割れる数
の仲間に入らない と解釈してしまうんですね。
ここからは、数学でいう集合論になってしまうのでちょいと簡単に
条件1.3で割れる数
3,6,9,12,15,18・・・
条件2.5で割れる数
5,10,15,20・・・
条件3.公倍数
15,30・・・
です。
人間の頭で考えると、条件3に一致した場合、条件1と条件2には一致しない
と考えてしまいます。
しかし厳密に解釈すると
条件3の時は 条件1にも条件2にも一致するんです。
単純なロジックを組んだ場合。
3で割り切れる数はFizz
5で割り切れる数はBuzz
3でも5でも割り切れる数はFizzBuzz
というロジックになりますね。
しかし、15の時には。3で割り切れる数。5で割り切れる数。3でも5でも割り切れる数の全ての条件に一致してしまうために、
Fizz(3で割)Buzz(5で割)FizzBuzz(3でも5でも割)
と出力されてしまう ということです。
ありがとうございます。
理解はできますが、同意はいたしかねる内容ですね。
http://ja.wikipedia.org/wiki/%E8%AB%96%E7%90%86% …
のような図で、与えられた命題を考えると、FizzBuzzとしか考えられません。
No.2
- 回答日時:
解釈次第。
"3 でも 5 でも割り切れる場合は、FizzBuzz"を、
上二つの条件の論理積をあらためて説明したものと解釈すると
質問者の言うとおり。
そうではなく、
"3 でも 5 でも割り切れる場合は、FizzBuzz"もひとつの条件であり、
それがたまたま上二つの条件の論理積と一致しただけと考えると、
"ANo.1"の説明のとおり。
No.3
- 回答日時:
きっと、このふたつのちがいでしょう。
通常版
http://codepad.org/v36BOdXe
厳密?版
http://codepad.org/iwFFJEQy
ただし、これを「厳密」と呼ぶのかはわかりませんが……。
ありがとうございます。
このようなソースですよね。
なんか、バグがあっても、これは厳密に解釈すれば正しいんだ!!と主張しているように見えてしまいます。
No.4
- 回答日時:
それは,厳密な解釈ではなくて,ただの屁理屈です.
「1+1 = 田 」っていうのと同じ.
なぜ繰り返しになるのか,わからないという質問者様の日本語感覚で正しいと思いますよ.
普通,場合分けの説明文,
・Aの場合はX
・Bの場合はY
・Cの場合はZ
というような条件が示された場合,A,B,Cのうちのもっともよく合致する項目を一つ選ぶ,と解釈します.
これを文字通り,プログラムが行うべき処理を時系列順に列挙していると解釈してしまうと,FizzBuzzFizzBuzzが出力されるという解釈になりますね.
まー,こういう,揚げ足取りの余地のある仕様書を書く方が悪いという話もありますが...
ありがとうございます。
私も屁理屈なんだろうけど、何らかの意図があるのかな?と思います。
>まー,こういう,揚げ足取りの余地のある仕様書を書く方が悪いという話もありますが...
まー、不明だったら仕様書書いた人に聞くのが一番ってことですよね。
作る方だってバグがありますからね。
No.5
- 回答日時:
No1です
質問内で示唆しているURLでは、このようなどうとでも取れる文章で仕様を書くな っていう題材として取り上げているにすぎない。
>ありがとうございます。
>理解はできますが、同意はいたしかねる内容ですね。
いや、べつに私がどう理解しているかを回答したわけじゃなくて、なぜ繰り返しになるのか を解説したまで。
私の回答に同意するしないの問題ではないです。
私だって個人的には、繰り返し出力する仕様はありえねぇな と考えますよ。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 日本語 助詞の質問です。 5 2023/08/23 15:18
- 日本語 <助詞の話──場所を示す「に」と「で」>という誤り 1 2023/05/17 00:06
- MySQL my_itemsテーブルのIDにAUTO_INCREMENT を追加ができるかで 1 2023/01/03 09:09
- 政治 よく政治的に左の思想を持っている人たちが、内閣の解釈や閣議決定を批判しているのですが、そのくせに憲法 2 2022/11/09 23:09
- 統計学 信頼区間の信頼度の解釈について(統計学) 8 2023/08/20 16:28
- 物理学 コマの歳差運動について質問です。 「歳差運動を行う場合,回転軸の方向と角運動量の方向は厳密には一致し 4 2023/01/20 18:31
- 政治 左翼や護憲派は「自衛隊は実質的に軍隊」と言うくせに、どうして憲法改正にも反対し自衛隊も容認するのでし 4 2022/11/20 15:05
- 英語 Collagens are the most common type used. この英文の文法的解 2 2022/07/28 10:08
- 介護福祉士・ケアマネージャー・社会福祉士 JRの障がい者割についての質問です。 障がい者の方と電車に乗る際、JR九州のホームページを見たのです 1 2022/06/12 23:52
- 政治 よく政治的に左の思想を持っている人たちが、内閣の解釈や閣議決定を批判しているのですが、そのくせに憲法 3 2022/11/17 10:53
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
PS4コントローラーをPCでゲーム...
-
printfとputcharの違いは
-
詳しくないので、どなたかお教...
-
MMDでavi出力が出来ない
-
テキストファイルから特定の文...
-
【エクセル、並び替えについて】
-
Accessの値をExcelに縦横入替出...
-
VBA レジストリの値の読み方に...
-
PIC16F1827のAD変換 PIC初心者...
-
C# 標準出力のencodingをutf8に...
-
エクセルVBAでテキストファイル...
-
4Kの外部モニターに出力すると...
-
show running configの出力結果
-
PS5をMacBookProに出力したいの...
-
VBAで有効数字の設定
-
コンピュータの仕組みについて
-
無線とかアンテナに関しの質問...
-
Net User コマンドで一覧表示
-
COBOLの桁落ち
-
OBS配信すると、マイクが途切れ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
PS4コントローラーをPCでゲーム...
-
4Kの外部モニターに出力すると...
-
MMDでavi出力が出来ない
-
プログラムについての質問です...
-
コンセントの電力は入力と出力...
-
AIに回答させるって
-
OBS配信すると、マイクが途切れ...
-
VBAでテキスト出力時のスペース...
-
cout と cerrの違い
-
アクセスでエクセルに出力する...
-
printfとputcharの違いは
-
ACCESS クエリ→フォーム...
-
VBAのExecメソッドで画面を非表...
-
COBOLのMOVEで桁数が異なる場合
-
テキストファイルから特定の文...
-
VBAで有効数字の設定
-
coutで出力した文字を消去する...
-
Windows Formアプリからコンソ...
-
KEYENCEのシーケンスプログラム...
-
CRC16計算について
おすすめ情報