Wpis z mikrobloga

#programowanie #cpp
Jak obliczyć duża liczbę podniesioną do potęgi, a potem wyliczyć z niej modulo?
Chodzi o coś takiego: (2441 ^ 79) % 3337
Kalkulator Windows radzi sobie bez problemu i daje 668, a wrzucenie czegoś takiego w kompilator

fmod(powl(2441, 79),3337)
daje 3128(w qt w ogóle wyrzuca 0 lub nieskończoność). Jestem świadomy tego, że to podniesienie do potęgi generuje bardzo dużą liczbę, ale ostateczny wynik jest normalny, więc jakoś powinno się dać.
  • 5
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@DJ_Luki: Albo musisz napisać jakieś BigNumy (ew. uzyć jakiejś gotowej biblioteki), albo, jeśli chcemy to trzymać w typach wbudowanych, to poczytaj o szybkim potęgowaniu modulo, też da radę.
  • Odpowiedz