Ten temat być może tak średnio podchodzi pod algorytmy, ale nie miałem pomysłu na lepszą kategorię. Załóżmy, że mamy 2 liczby, 123 i 456, i chcemy je pomnożyć. Wynik to będzie:
1236
+
12350
+
123*400
Jak widać, trzeba przeiterować 3 razy, czyli długość "456" (zakładamy że 123 to liczba o dużej podstawie (10^9), każda z cyfr w tej liczbie mieści się w incie, więc da się ją liniowo przemnożyć. Drugi czynnik zaś, to pojedyncza cyfra, tyle że uzupełniona o parę zer). I tutaj pytanie: czy da się to zrobić w mniejszej ilości iteracji, niż n? (n == liczba cyfr drugiej liczby) Lub czy ogólnie można to jakoś przyspieszyć? Nie chodzi mi tutaj o algorytmy typu karatsuby czy FFT - implementuję właśnie karatsubę i muszę napisać również do tego celu mnożenie "zwykłe". Niestety program napisany za pomocą algorytmu powyżej, na sprawdzarce działa zbyt wolno, i jestem na 99% pewny że to właśnie to jest wąskim gardłem. Z góry dzięki za pomoc :)