このディレクトリの索引

# # 等差数列の再帰的ではない定義(実は再帰的なのだが) # 等差数列とは隣り合う2つの項の差が全て等しい数列である(_等差数列) :- 隣り合う2つの項の差が(_等差数列,_隣り合う2つの項の差のならび), 全て等しい(_隣り合う2つの項の差のならび,_). 隣り合う2つの項の差が(_等差数列,_隣り合う2つの項の差のならび) :- findall(_差,隣り合う2つの項の差(_等差数列,_差),_隣り合う2つの項の差のならび). 隣り合う2つの項の差(_等差数列,_差) :- append(_,[_1,_2|_],_等差数列), _差 is _2 - _1. 全て等しい([A],A). 全て等しい([A|R],A) :- 全て等しい(R,A).