Dzień dobry,
szukałem na tym forum (i nie tylko) odpowiedzi na podobne pytania, ale wciąż nie mogę rozwiązać swojego problemu. W C++ chcę operować dużymi liczbami i muszę np. mieć 26^16 lub dużo większe. To już jest ponad 20 cyfr. Zapisać jej nie mogę, bo nawet unsigned long long nie wystarcza. Chciałem wynik potęgowania zapisać jako tekst, ale to_string od jakiejś wielkości przekłamuje wyniki. Później chciałbym wyznaczyć resztę z dzielenia tej liczby przez jakąś liczbę pierwszą, która zmieściłaby się w unsigned short, ale wpierw potrzebuję wyniku potęgowania z dokładnością do jedności. W ostateczności chyba dałoby się ją uzyskać za pomocą arytmetyki modularnej:
https://pl.khanacademy.org/computing/computer-science/cryptography/modarithmetic/a/modular-multiplication
Jednak zamiast potęgowania musiałbym mnożyć tyle razy, ile wynosi wykładnik i za każdym razem wyciągać resztę, i jeszcze raz ją wyliczyć na końcu.
Proszę o pomoc.