[OCaml][C] ディビジョン・ナイン

@riverplus さんの CodeIQ 出題問題。 https://codeiq.jp/q/2561 http://togetter.com/li/956617 答案:整数分割問題として直接導出。ざっと見た限り、見られる解き方は 0..8 mod9 の9連漸化式 F(n,sum) の漸化式 1,2,3,4 の登場回数探索総あたり くらい?…

バイバイマン: アルゴリズム解説

N日めのバイバイマンの数は漸化式で S[N]=S[N-1]+(S[N-4]-S[N-6]+S[N-8]-S[N-10]+...) S[1]=1 となる。上記コードでは r=(S[N-4]+...) になるように計算している。 導出過程 まず、バイバイマンをサイズ別に何体いるかを求めることを考える。 サイズ1: A[N] …

バイバイマンを数えよう

http://d.hatena.ne.jp/Ozy/20160202 のコード解説。採点環境では 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 …

たてた

たぶんほとんど更新しないけど。