c++,algorithm,recursion,exponentiation,modular-arithmetic

i think the usage of int res instead of uii res is the problem there are chances of overflow. Moreove even ((res*res)*base%p)%p can cause overflow . Improved code :- uii modularExponentiation(uii base,uii exponent,uii p) { if(exponent == 0) return 1; uii res= modularExponentiation(base,exponent/2,p); res = (res*res)%p; if(exponent%2 == 0) return...

It's because 1e6 is a constant, and is recognized as such by the parser, whereas 10^6 is parsed as a function call which has to be further evaluated (by a call to the function ^()). Since the former avoids the expensive overhead of a function call, evaluating it is a...

python,optimization,largenumber,exponentiation

The thing is python tries to print the first result. But this number has a zillion digits and python doesn't flush the output until a newline is encountered, which is after sending all the digits to standard output. As @abarnert mentioned, what is many times worse, is converting the number...

matlab,polynomial-math,exponentiation,finite-field,polynomials

Try this u = f; for i=1:t [q{i},r{i}] = deconv(f,h); f = conv(f,u); end Your answer for each power will be in the cell array r....

I am not really sure that you need big.int for base and power. Even if you will have enough memory to store the result, most probably you will run out of time quickly (yes, it runs in log(power), but it take more and more time to multiply very big integers)....

python,python-2.7,math,negative-number,exponentiation

Python is correct and doing what you would expect it to do. It is a matter of order of operations. ANY number (negative or positive) to zeroth power is equal to 1. But keep in mind also that multiplication comes before subtraction in order of operations. So in more detail,...

c,precision,arbitrary-precision,exponentiation

You can precompute and tabulate all 256-bit values of the function for x in [65280, 65535] (i.e. 255 x 256 + i); you will lookup the table by the 8 least significant bits of the argument. That will take 8KB of storage. For lower values of the argument, shift the...

restart: M := Matrix([[1,1],[1,0]]): str:=time[real](): LinearAlgebra:-Modular:-MatrixPower(73, M, 10^12); [46 46] [ ] [46 0] time[real]()-str; 0.040 ...

You need to use POWER instead. And also, you shouldn't use somecolumn = NULL but somecolumn IS NULL: CASE WHEN a.avgRating IS NULL THEN POWER(6-r.WebRating,4.5) ELSE a.avgRating END AS avgRating ...