Kentaro Kuribayashi's blog

Software Engineering, Management, Books, and Daily Journal.

花金かつ給料日はスーパー花金

花金と給料日が重なるとめでたい。世にいうところの「スーパー花金」である。これをプログラムによって求めよというお題が提案された。

というわけで、酒のつまみに適当に書いてみた。

ルール

  • 花金はFizz
  • 給料日はBuzz
  • 花金かつ給料日は「スーパー花金」なのでFizzBuzz

実行例

弊社の場合、給料日は10日なので、2014年1月には以下のようになる。

$ go run hanakin.go -payday 10 -month 1 -year 2014
2014 January
====================
1
2
Fizz
4
5
6
7
8
9
FizzBuzz
11
12
13
14
15
16
Fizz
18
19
20
21
22
23
Fizz
25
26
27
28
29
30
Fizz

発展

  1. 給料日が休日の場合、その直前の平日が給与支給日になる会社が多いだろう(弊社もそう)。たとえば、10日が給料日だが、10日が日曜日の場合は8日が給料日、という場合。hanakinスクリプトをその場合にも対応せよ。
  2. フォーマットをcalコマンドに合わせよ。
  3. 給料日が、三連休があとに続く金曜日である場合を「スーパーウルトラ花金」と定義する。その際に、FizzBuzz!!1と出力するようプログラムを改修せよ。