トップ «前の日記(2017-12-10(Sun)) 最新 次の日記(2017-12-12(Tue))» 編集

屑俺日記

僕の備忘録(PC、UN*X、ネットワーク関連が中心)なんです。
自分の書いたところは適当(な時とか)に書き換えますので御了承を。


2017-12-11(Mon) 晴れて、昼まではあまり寒くなかったけど、夕方は冷たい風が強かった

なんとかfizzbuzz

dc(1)に整数を与えると、fizzかbuzzかfizzbuzzか元の数かを返す スクリプトがとりあえず。
アルゴリズム自体は普通のif(割り算)...elseif(割り算)..else。

$ for num in `seq 17`
> do echo $num |
> dc -f macro.txt
> done
1
2
fizz
4
buzz
fizz
7
8
fizz
buzz
11
fizz
13
14
fizzbuzz
16
17

ifに相当するものはあったけど、elseをどうしていいか少し迷った。
15,5,3のどれかが真になったあと、比較対象のゼロ(0レジスタの中身) を-1に変えて、 それ以後が真にならないようにする。
整数出力は0レジスタの中身が0である場合のみ実行するようにする。

自前でループを実行できるようにもせねば。


リンクはご自由にどうぞ。でもURLや内容が変った場合はあしからず。

index.htmlは ここから。