このディレクトリの索引

'1+3+5=9=3*3はA1+A2+A3=B=n*nになりますよね
Bの平方根がnであるとき、ある整数BからAnをすべて求める方法を教えてください
ただしA1..Anは全て奇数の一意数であり昇順に並んでいます'(B,_A1__An) :-
_n is sqrt(B),
'1から始まる公差2のn要素の等差数列'(_n,_A1__An).


'1から始まる公差2のn要素の等差数列'(_n,_1から始める公差2のn要素の等差数列) :-
length(_1から始める公差2のn要素の等差数列,_n),
_1から始める公差2のn要素の等差数列 = [1|_],
'反転して公差-2にして等差数列を求める'(_1から始める公差2のn要素の等差数列).


'反転して公差-2にして等差数列を求める'(L) :-
reverse(L,L2),
'等差数列'(L2,-2).