Dzięki odpowiedniemu uporządkowaniu działań w metodzie tej nie występują ułamki – wszystkie wyniki pośrednie są całkowite, a więc nie ma ryzyka błędów zaokrąglenia.

Przykładowa procedura w Pascalu:

function WspNewtona( n, k : integer ) : integer; var wynik : integer; i : integer; begin wynik := 1;

for i := 1 to k do wynik := wynik * (n - i + 1) div i;

WspNewtona := wynik; end;

Przykładowa metoda 64-bitowa w Javie kontrolująca przepełnienie typu Long:

long symbolNewtona(final long N, final long K) { assert N >= 0; assert K >= 0;

if (N < K) return 0L;

if (K == 0 || K == N) return 1L;

if (K == 1 || K == N - 1) return N;

long wynik = 1L; try

final long maxK = Math.min(K, N - K); for (long i = 1L; i <= maxK; i++) wynik = Math.multiplyExact(wynik, (N - i + 1)) / i;

catch (ArithmeticException e)

return -1L;

return wynik; }

Drugi przykład w Javie daje poprawne wyniki dla dowolnych dodatnich danych wejściowych: BigInteger symbolNewtona(final long N, final long K) { assert N >= 0; assert K >= 0;

if (N < K) return BigInteger.valueOf(0);

if (K == 0L || K == N) return BigInteger.valueOf(1);

if (K == 1L || K == N - 1L) return BigInteger.valueOf(N);

BigInteger result = BigInteger.valueOf(1);