|
@@ -28,15 +28,11 @@ std::ostream& operator<< <char>(std::ostream& out, std::vector<char> o){
|
|
|
}
|
|
|
int main(){
|
|
|
xoshiro_256 gen(1);
|
|
|
- BigInt a(323);
|
|
|
- BigInt b(343453423ull);
|
|
|
- //BigInt mod(gen, 5);
|
|
|
- BigInt mod("179769313486231590772930519078902473361797697894230657273430081157732675805500963132708477322407536021120113879871393357658789768814416622492847430639474124377767893424865485276302219601246094119453082952085005768838150682342462881473913110540827237163350510684586298239947245938479716304835356329624227998859");
|
|
|
- mod.suba(BigInt(234723947982312ull));
|
|
|
- std::cout << "Mod " << mod.toString() << std::endl;
|
|
|
- std::cout << mod.rawString() << std::endl;
|
|
|
+ BigInt a(2);
|
|
|
+ BigInt b(gen, 4);
|
|
|
+ BigInt mod("9301165293246235069759966068146313776551258669855356477271940698500929939755418247622530571466332330697816620308003246225290293476785304004840090056840661553451916748315356563734257724978000166406621823207925733850455027807451108123161768212073821382033500073069184011344280494573919716117539258909003");
|
|
|
std::cout << "(" << a.toString() << " ^ " << std::flush;
|
|
|
- a = a.modPow(b,mod);
|
|
|
+ a = a.modPow(b, mod);
|
|
|
std::cout << "" << b.toString() << ")";
|
|
|
std::cout << " mod " << mod.toString() << "\n";
|
|
|
std::cout << " = " << a.toString() << "\n";
|