プログラマーなら「FizzBuzz問題」解けるよな?at PROG
プログラマーなら「FizzBuzz問題」解けるよな? - 暇つぶし2ch381:仕様書無しさん
11/08/26 17:24:33.68
そんなピンポイントな仕変出す客おるかいw

382:仕様書無しさん
11/08/26 17:42:45.50
105(3,5,7で割れる)とかどうするんだろ、って思ったけどたぶんBuzzGizzなんだろうなぁ

直接"FizzBuzz"とか書かず、割れた数から出力すれば楽だと思ったんだが、そうするとFizzBuzzGizzになっちゃうんだよなぁ
Fizz,Buzz,…の数だけフラグ用意して、立てたり立てなかったりしつつ、その後3本以上になったら小さいほうを折って…って面倒だわ

383:仕様書無しさん
11/08/26 19:36:59.46
その前にギャラの話をしようじゃないか…

384:仕様書無しさん
11/08/26 21:33:38.93
つーかその程度の変更なら、丸々書き換えても30分も要らんだろw

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

386:仕様書無しさん
11/08/27 02:50:52.15
明らかに>>375-376に都合のいいように考えただけの仕様だもんな

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

388:仕様書無しさん
11/08/27 02:55:56.16
可読性が落ちてることが一番問題じゃね?

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

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

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

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

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

391:仕様書無しさん
11/08/27 22:08:29.33
unsignedも付けろ

392:仕様書無しさん
11/08/27 23:12:30.03
>>391
追加料金が1人月発生しますが良いですか?

393:仕様書無しさん
12/02/09 02:03:42.02
さあ、忘れたころにやってくる。


394:仕様書無しさん
12/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:仕様書無しさん
12/02/13 22:10:32.70
RU-PU. がいいね。

396:仕様書無しさん
12/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:仕様書無しさん
12/02/14 20:47:20.57
>If i Mod 10 = 0 Then
???

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

399:仕様書無しさん
12/02/14 21:53:06.43
引用のおっさんここにもいるのか

400:仕様書無しさん
12/02/16 03:14:53.62
なんだ 引用のおっさん て?

401:仕様書無しさん
12/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" など)で。


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch