バイバイマンを数えよう
のコード解説。
採点環境では int=4byte (long も 4byte) なので C系、OCaml は double 等で対処しないとあふれる。
- Python
- これは提出していないけど最短タイ(50B)
r=1;q=p=s=0;exec"r,q,p,s=q,p,s-q,s+r;print s;"*100
let rec(@)s p q r=Printf.printf"%.f "s;s<6e10&(s+.r@s-.q)p q;;(1.@0.)0. 0.
- bc (44B)
- 最後の ;u= は標準入力を読み捨てるため。
- ループカウンタ変数はもったいないので停止条件がアレ
- z は一時退避用の変数
for(r=1;r<4^17;p=z){z=s-q;s+=r;s;r=q;q=p};u=