1

$b^n$ where the base $b$ is a positive integer greater than $1$ and the exponent $n$ is a rational number in simplified form. How would one compare (resulting in <, =, or >) two such exponentiations without evaluating the exponentiatoins, and without the use of functions or operations that produce real numbers (e.g., log(), pow(), etc)?

Arlen
  • 402

1 Answers1

3

In order to compare, say, $b_{1}^{p_{1}/q_{1}}$ and $b_2^{p_2/q_2}$, the simplest approach is to raise both to the same power ($q_1 q_2$) and compare the resulting integers, $b_{1}^{p_1 q_2}$ and $b_2^{p_2 q_1}$.

mjqxxxx
  • 43,344
  • That won't work for all cases because the exponents can be negative rationals. Besides, I forgot to mention in my question, I can't evaluate the exponentiation because it can easily overflow. – Arlen Dec 28 '12 at 21:25
  • If both exponents are negative, do the comparison with positive exponents and return the opposite result. If one is negative and the other non-negative, then the one with the negative exponent is smaller. And you need, I think, to be able to use either big integers or floating-point numbers to do this problem. – mjqxxxx Dec 28 '12 at 21:35