短いコードはわかりやすい ← これは間違いだった

このエントリーをはてなブックマークに追加
275デフォルトの名無しさん
% Prolog 分かり易いかどうかは何ともいえないが、冗長なコードの例。

'自然数nの二重階乗を求める'(0,1).
'自然数nの二重階乗を求める'(1,1).
'自然数nの二重階乗を求める'(_m,_x) :-
    '_m が 1 より大きい時、_m - 2 の二重階乗 _x_2 に _m をかけたものが_m の二重階乗 _x となる'(_m,_x).

'_m が 1 より大きい時、_m - 2 の二重階乗 _x_2 に _m をかけたものが_m の二重階乗 _x となる'(_m,_x) :-
    _m > 1,
    _m_2 is _m - 2,
    '自然数nの二重階乗を求める'(_m_2,_x_2),
    _x is _m * _x_2.