Symbol Newtona: Różnice pomiędzy wersjami

[wersja przejrzana][wersja przejrzana]
Usunięta treść Dodana treść
Cichoń (dyskusja | edycje)
Dodanie przykładowej procedury/predykatu dwumianu w języku PROLOG
Linia 120:
</pre>
 
Przykładowy predykat w [[Prolog (język programowania)|Prologu]]:
 
<pre>
silnia(0, 1) :- !.
silnia(1, 1) :- !.
silnia(N, X) :- N1 is N-1, silnia(N1, X1), X is N * X1.
 
npok(N, K, X) :- silnia(N, X1), silnia(K, X2), NK is N-K, silnia(NK, X3), X is X1 / (X2 * X3).
 
</pre>
Procedura ta działa szybko i z minimalnym kosztem pamięciowym – wymaga tylko dwu pomocniczych zmiennych (a po dodatkowym usprawnieniu nie potrze­bowałaby żadnych). Drobną wadą tego sposobu jest niewielki nadmiar w trakcie obliczeń: maksymalna wartość pośrednia, otrzymana przed ostatnim dzieleniem przez ''k'', jest ''k''-krotnie większa od ostatecznego wyniku. To oznacza, że metody tej nie da się wykorzystać "do granic pojemności" typu całkowitego: maksymalna wiarygodna wartość obliczana tym sposobem zawsze będzie ''k''-krotnie niższa od największej wartości całkowitej dostępnej w danym komputerze, kalkulatorze bądź języku programowania.