09/12/23 04:23:00
>>19
% Prolog
program :-
user_parameters([A]),
atom_to_term(A,N,_),
N2 is N // 2,
findall([M,D],(for(1,M,N2),0 is N mod M,D is N // M),L),
因数の表示(N,L),
halt.
因数の表示(_,[]).
因数の表示(N,[[M,D]|R]) :-
write_formatted('%t = %t * %t\n',[N,M,D]),
因数の表示(N,R).