17 lines
355 B
Prolog
17 lines
355 B
Prolog
:- initialization(main).
|
|
|
|
rms(Xs, Y) :-
|
|
sum_of_squares(Xs, 0, Sum),
|
|
length(Xs, N),
|
|
Y is sqrt(Sum / N).
|
|
|
|
sum_of_squares([], Sum, Sum).
|
|
|
|
sum_of_squares([X|Xs], A, Sum) :-
|
|
A1 is A + X * X,
|
|
sum_of_squares(Xs, A1, Sum).
|
|
|
|
main :-
|
|
bagof(X, between(1, 10, X), Xs),
|
|
rms(Xs, Y),
|
|
format('The root-mean-square of 1..10 is ~f\n', [Y]).
|