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 言語自由
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" など)で。