コンピュータプログラミングの概念・技法・モデル
(IT Architect' Archive
クラシックモダン・コンピューティング6)
(IT Architects’Archive CLASSIC MODER)
(翔泳社)
セイフ・ハリディ (著), ピーター・ヴァン・ロイ (著)
Peter Van-Roy (著), Seif Haridi (著), 羽永 洋
原書: Concepts, Techniques,
and Models of Computer Programming
開発環境
- OS X Yosemite - Apple (OS)
- Emacs (Text Editor)
- Oz (プログラミング言語)
- Mozartプログラミングシステム(Mozart 2) (実装)
コンピュータプログラミングの概念・技法・モデル(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.(組み合わせの計算)の(b)を解いてみる。
2.(組み合わせの計算)の(b)
コード(Emacs)
declare
fun {Fact N}
if N==0 then 1 else N*{Fact N-1} end
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
fun {CombB N K}
if K==0
then 1
else
if K > (N div 2) then
{F N K+1} div {Fact N-K}
else
{F N N-K+1} div {Fact K}
end
end
end
{Browse {CombB 50 10}}
{Browse {CombB 50 40}}
{Browse {CombA 50 10}}
{Browse {CombA 50 40}}
0 コメント:
コメントを投稿