[表示 : 全て 最新50 1-99 101- 201- 301- 401- 2chのread.cgiへ]
Update time : 04/11 16:12 / Filesize : 123 KB / Number-of Response : 402
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

プログラマーなら「FizzBuzz問題」解けるよな?



1 名前:(´・ω・`) ◆Hc1VAagKMg [2008/04/29(火) 20:06:06 ]
1から100までの数をプリントするプログラムを書け。
ただし3の倍数のときは数の代わりに「Fizz」と、5の倍数のときは「Buzz」とプリントし、3と5両方の倍数の場合には「FizzBuzz」とプリントすること。

www.aoky.net/articles/jeff_atwood/why_cant_programmers_program.htm

言語自由

384 名前:仕様書無しさん mailto:sage [2011/08/26(金) 21:33:38.93 ]
つーかその程度の変更なら、丸々書き換えても30分も要らんだろw

385 名前:仕様書無しさん mailto:sage [2011/08/27(土) 00:02:00.57 ]
面倒なだけで興味をひかないネタだな
こういうところにもその人のスキルって出るよな
よって>>379は低スキルのバカグラマー

386 名前:仕様書無しさん mailto:sage [2011/08/27(土) 02:50:52.15 ]
明らかに>>375-376に都合のいいように考えただけの仕様だもんな

387 名前:仕様書無しさん mailto:sage [2011/08/27(土) 02:55:14.40 ]
3で割り切れる時は3倍、5で割り切れる時は5倍にして表示してね、という簡単な変更要求が来た途端、
可変性が高いつもりでただ重いだけの無駄コードと化すしな

388 名前:仕様書無しさん mailto:sage [2011/08/27(土) 02:55:56.16 ]
可読性が落ちてることが一番問題じゃね?

389 名前:仕様書無しさん mailto:sage [2011/08/27(土) 15:09:54.05 ]
この程度の規模のコードで、コードの再利用を考慮しすぎるのはムダ。
仕様変更に伴って書き直した方が早い。

>>1のリンク先には
> ちゃんとしたプログラマであれば、これを実行するプログラムを
> 2分とかからずに紙に書き出せるはずだ。怖い事実を聞きたい?
> コンピュータサイエンス学科卒業生の過半数にはそれができないのだ。
> 自称上級プログラマが答えを書くのに10-15分もかかっているのを見たこともある。
とある。

2分とかからずに書き出せる程度の規模のコードで再利用とかムダムダ。
仕様変更があったら数分かけて書き直せ。

390 名前:仕様書無しさん mailto:sage [2011/08/27(土) 21:59:59.72 ]
int sizeofarray = sizeof(a) / sizeof(a[0]);
くらい書け(もちろん宣言の順序も入れ替えて)、と思ったけど、どっちにしろ配列サイズが一致しないバグ
を抱える可能性が気持ち悪いから、本気でやるなら三次元配列かstruct/classの配列にすべきか
あと、末尾のダミー文字列が気持ち悪すぎるけど、これ無くても鼻から悪魔出ないよね?

でも実際問題としては>>389に完全同意

391 名前:仕様書無しさん mailto:sage [2011/08/27(土) 22:08:29.33 ]
unsignedも付けろ

392 名前:仕様書無しさん mailto:sage [2011/08/27(土) 23:12:30.03 ]
>>391
追加料金が1人月発生しますが良いですか?



393 名前:仕様書無しさん mailto:sage [2012/02/09(木) 02:03:42.02 ]
さあ、忘れたころにやってくる。


394 名前:仕様書無しさん [2012/02/12(日) 22:03:06.96 ]
ひよこグミを参考にしながらOpenCOBOLでショートコーディングに挑戦してみました

IDENTIFICATION DIVISION.
PROGRAM-ID. FIZZBUZZ.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 N PIC 999.
PROCEDURE DIVISION.
RU-PU.
  ADD 1 TO N
  IF 0 = N(3:) OR 5 = N(3:)
    IF N = N / 3 * 3
      DISPLAY "FizzBuzz"
    ELSE
      DISPLAY "Buzz"
    END-IF
  ELSE
    IF N = N / 3 * 3
      DISPLAY "Fizz"
    ELSE
      DISPLAY N(3 - 0 ^ (9 / N):)
    END-IF
  END-IF
  IF N < 100
    GO RU-PU
  END-IF
  STOP RUN.


395 名前:仕様書無しさん mailto:sage [2012/02/13(月) 22:10:32.70 ]
RU-PU. がいいね。

396 名前:仕様書無しさん [2012/02/14(火) 01:26:49.30 ]
これでいいのかな?VB.net

Dim fizz As String = "Fizz"
Dim buzz As String = "Buzz"
Dim i As Integer

For i = 1 To 100

Dim fl As Boolean = True

If i Mod 3 = 0 Then
rtAnswer.Text &= fizz
fl = False
End If

If i Mod 5 = 0 Then
rtAnswer.Text &= buzz
fl = False
End If

If fl Then
rtAnswer.Text &= i
End If

rtAnswer.Text &= " "

If i Mod 10 = 0 Then
rtAnswer.Text &= vbCrLf
End If

Next

397 名前:仕様書無しさん mailto:sage [2012/02/14(火) 20:47:20.57 ]
>If i Mod 10 = 0 Then
???

398 名前:仕様書無しさん [2012/02/14(火) 21:31:53.79 ]
>>397
10個ごとに改行入れるってことだろ?見やすくするために

399 名前:仕様書無しさん mailto:sage [2012/02/14(火) 21:53:06.43 ]
引用のおっさんここにもいるのか

400 名前:仕様書無しさん mailto:sage [2012/02/16(木) 03:14:53.62 ]
なんだ 引用のおっさん て?

401 名前:仕様書無しさん mailto:sage [2012/04/09(月) 23:59:48.08 ]
FizzBuzzクイズ

1.fizz.buzz #=> 1
3.fizz.buzz #=> "Fizz"
5.fizz.buzz #=> "Buzz"
15.fizz.buzz #=> "FizzBuzz"

となるようなメソッドfizz、buzzは定義可能か?
可能である場合、同様にgizzを追加定義し、
7.fizz.buzz.gizz #=> "Gizz"
21.fizz.buzz.gizz #=> "FizzGizz"
35.fizz.buzz.gizz #=> "BuzzGizz"
105.fizz.buzz.gizz #=> "FizzBuzzGizz"
105.fizz.gizz.buzz #=> "FizzGizzBuzz" と拡張・応用ができるか?

メソッドのコールに()が必須の言語では 3.fizz().buzz() 形式でも構わない。
オープンクラス機構やメソッドのない言語では関数(buzz(fizz(3)) #=> "Fizz" など)で。






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<123KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef