わたしとしての完成品を書いておきます。
ボックスから出す必要はないと思うのでその分短くなっています。
結果の表現は10 x 10の表にします。
Windows版のJ602での結果です。
-
-
- -
-
FizzBuzz=: 3 : 0
(<'FizzBuzz') (<:(0 E. 15 | A) # A) } (<'Buzz') (<:(0 E. 5 | A) # A) } (<'Fizz') (<:(0 E. 3 | A) # A) } <"0 A=.>:i.y
)
10 10$FizzBuzz 100 +----+----+----+----+--------+----+----+----+----+--------+ |1 |2 |Fizz|4 |Buzz |Fizz|7 |8 |Fizz|Buzz | +----+----+----+----+--------+----+----+----+----+--------+ |11 |Fizz|13 |14 |FizzBuzz|16 |17 |Fizz|19 |Buzz | +----+----+----+----+--------+----+----+----+----+--------+ |Fizz|22 |23 |Fizz|Buzz |26 |Fizz|28 |29 |FizzBuzz| +----+----+----+----+--------+----+----+----+----+--------+ |31 |32 |Fizz|34 |Buzz |Fizz|37 |38 |Fizz|Buzz | +----+----+----+----+--------+----+----+----+----+--------+ |41 |Fizz|43 |44 |FizzBuzz|46 |47 |Fizz|49 |Buzz | +----+----+----+----+--------+----+----+----+----+--------+ |Fizz|52 |53 |Fizz|Buzz |56 |Fizz|58 |59 |FizzBuzz| +----+----+----+----+--------+----+----+----+----+--------+ |61 |62 |Fizz|64 |Buzz |Fizz|67 |68 |Fizz|Buzz | +----+----+----+----+--------+----+----+----+----+--------+ |71 |Fizz|73 |74 |FizzBuzz|76 |77 |Fizz|79 |Buzz | +----+----+----+----+--------+----+----+----+----+--------+ |Fizz|82 |83 |Fizz|Buzz |86 |Fizz|88 |89 |FizzBuzz| +----+----+----+----+--------+----+----+----+----+--------+ |91 |92 |Fizz|94 |Buzz |Fizz|97 |98 |Fizz|Buzz | +----+----+----+----+--------+----+----+----+----+--------+
少しわかりやすく定義すると下記のような感じかな?
FizzBuzz =: 3 : 0 FizzBuzz =: 3 : 0 array =. >:i.y NB.1ベースの配列を作成する original =. <"0 array NB.ボックスにする fizz =. (<'Fizz') (
以上