2014年12月18日木曜日

開発環境

コンピュータプログラミングの概念・技法・モデル(IT Architect' Archiveクラシックモダン・コンピューティング6) (IT Architects’Archive CLASSIC MODER)(セイフ・ハリディ (著)、ピーター・ヴァン・ロイ (著)、Peter Van-Roy (著)、 Seif Haridi (著)、羽永 洋 (翻訳) 、翔泳社、原書: Concepts, Techniques, and Models of Computer Programming(CTM))の第1章(プログラミング概念入門)、1.18(練習問題)、2.(組み合わせの計算)の(a)を解いてみる。

2.(組み合わせの計算)の(a)

コード(Emacs)

declare
fun {Fact N}
   if N==0 then 1 else N*{Fact N-1} end
end

fun {Comb N K}
   {Fact N} div ({Fact K} * {Fact N-K})
end

fun {F N K}
   if K==N then N else K*{F N K+1} end
end
      
fun {CombA N K}
   if K==0
   then 1
   else
      {F N N-K+1} div {Fact K}
   end
end

{Browse {Comb 10 5}}
{Browse {CombA 10 5}}

0 コメント:

コメントを投稿