開発環境
- OS X El Capitan - Apple (OS)
- Emacs (Text Editor)
- Prolog (プログラミング言語)
- GProlog(GNU Prolog)(処理系)
7つの言語 7つの世界 (Bruce A. Tate (著)、まつもとゆきひろ (監訳)、田和 勝 (翻訳)、オーム社)の第4章(Prolog)、4.3(2日目: Wapner判事まで15分)、セルフスタディ2日目.(フィボナッチ数列、階乗計算の実装、動作方法)を取り組んでみる。
セルフスタディ2日目.(フィボナッチ数列、階乗計算の実装、動作方法)
コード(Emacs)
fib(0, 0). fib(1, 1). fib(N, X) :- N > 1, M is N - 2, fib(M, Y), L is N - 1, fib(L, Z), X is Y + Z. fact(0, 1). fact(N, X) :- N > 0, M is N - 1, fact(M, Y), X is N * Y.
入出力結果(Terminal)
GNU Prolog 1.4.4 (64 bits) Compiled Feb 5 2016, 06:20:25 with /opt/local/bin/gcc-apple-4.2 By Daniel Diaz Copyright (C) 1999-2013 Daniel Diaz | ?- ['sample.pl']. .../sample.pl compiled, 13 lines read - 1842 bytes written, 108 ms (3 ms) yes | ?- fib(0, X). X = 0 ? a (1 ms) no | ?- fib(1, X). X = 1 ? a no | ?- fib(2, X). X = 1 ? a no | ?- fib(10, X). X = 55 ? a (1 ms) no | ?- fact(0, X). X = 1 ? a no | ?- fact(1, X). X = 1 ? a no | ?- fact(2, X). X = 2 ? a no | ?- fact(3, X). X = 6 ? a (1 ms) no | ?- fact(10, X). X = 3628800 ? a no | ?- Process prolog finished
0 コメント:
コメントを投稿