>>445
% Prolog

'1+2+3+…n≦1000となるように、nの最大値とそのときの合計を表示' :-
    '1+2+3+…n≦1000となるように、nの最大値とそのときの合計'(_nの最大値,_合計),
    write_formatted('nの最大値=%t,そのときの合計=%t\n',[_nの最大値,_合計]).

'1+2+3+…n≦1000となるように、nの最大値とそのときの合計'(_nの最大値,_合計) :-
    '1+2+3+…n≦1000となるように、nの最大値とそのときの合計'(1,_nの最大値,0,_合計).

'1+2+3+…n≦1000となるように、nの最大値とそのときの合計'(_n,_nの最大値,_合計1,_合計) :-
    _n2 is _n + 1,
    _合計2 is _合計1 + _n,
    _合計2 < 100,
    '1+2+3+…n≦1000となるように、nの最大値とそのときの合計'(_n2,_nの最大値,_合計2,_合計).
'1+2+3+…n≦1000となるように、nの最大値とそのときの合計'(_nの最大値,_nの最大値,_合計,_合計).