Operacje na liczbach wielocyfrowych

0

Piszę operacje na liczbach wielocyfrowych. O ile dodawanie, odejmowanie i mnożenie są proste, to mam kłopot z efektywnym dzieleniem.

Ponadto nie wiem jak zrobić operację modulo. Chyba zwykłe odejmowanie aż jedna liczba będzie mniejsza od drugiej nie jest dobrym pomysłem. Potrzebować będę tej operacji do algorytmu euklidesa, a odejmowanie spowoduje, że algorytm będzie działał w czasie wykładniczym, a tego bym nie chciał.

0

Podejrzyj źródła MPFR, GMP lub innych BigNumów. Jednak zawsze możesz zastosować dzielenie takie jak jest w podstawówce w słupku.

0

a opowiedz coś więcej o podstawowym problemie, do czego ci ten GCD?

0

Generalnie mam liczbę 18-cyfrową - oznaczę ją jako n. Chcę napisać efektywny algorytm euklidesa dla dużych liczb (stąd dzielenie i operacja modulo). Potem sprawdzać czy otrzymana liczba jest pierwsza (Test M-R) oraz czy dzieli bez reszty liczbę n.

-- edit
Również by się przydaŁ

0

do zabawy z liczbami polecam user image
szybka bestia i programowalna, można to sobie nawet przypiąć do własnego programu

0

Jak chcesz mieć do do algorytmu Euklidesa, to nie baw się w modulo. Zamiast tego do dzielnika dopisz tyle zer, ile się da, i odejmij. Potem jeszcze jedno lub parę odejmowań i będziesz miał to samo. Ja tak kiedyś zrobiłem do NWD i było ok.

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