odciecie jako potwierdzenie wyboru

0
suma_do(1, 1) :- !.
suma_do(N, Razem) :-
    N1 is N - 1,
    suma_do(N1, Razem1),
    Razem is Razem1 + N.

Jest to przykład z książki Prolog. Programowanie (str. 81). Wiem, że odcięcie zmniejsza zakres przestrzeń przeszukiwań, co skutkuje lepszym wykorzystaniem czasu procesora i pamięci komputera, ale w tym przypadku nie rozumiem z czego konkretnie wynikają te korzyści zastosowania odcięcia.

Czy mógłby to ktoś wyjaśnić w miarę przyjazny sposób?

0

przetestuj (sprawdź wszystkie zwracane odpowiedzi)

suma_do(1, 1) :- write('x'),!.
suma_do(N, Razem) :- write('y'),
        N1 is N - 1,
        suma_do(N1, Razem1),
        Razem is Razem1 + N.

i drugą wersję bez "!"

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0