Witam!
Swojego czasu bo napisaniu arytmetyki wielkich liczb zauważyłem, że o ile mnożenie, dodawania i chyba odejmowania działa znacznie szybciej niż wbudowana obsługa dużych liczb w pythonie, to dzielenie i modulo działa już kilkadziesiąt razy wolniej.
W odróżnieniu do mnożenia, dodawania i odejmowania dzielenie pisemne wymaga... dzielenia. Stąd mój problem. Pomyślałem, żeby to zrobić w ten sposób, że gdy chcę podzielić A przez B to przesuwam B tak jak w pisemnym, biorę pierwsze cyfry a i b z obu liczb (system o podstawie 10^18) i robię w pseudokodzie coś takiego:
while(A > B){
act = a / (b + 1);
if(act == 0)act = 1;
cyfra_wyniku += act;
A -= B * act;
}
Dalej robię tak, jak w pisemnym. Coś takiego powinno dobrze działać? Jest szybszy sposób? Działając w systemie binarnym sprawa jest banalna, ale nie wiem jak to zrobić mając tak duże cyfry (1018, czy 264)