int l = 0, r = ...;
while (l < r) {
  int m = (l + r) / 2;
  int p = power(3, m);
  if (p > M) r = m - 1;
  else if (p < M) l = m + 1;
  else print 3^m = M;
}

-- 
You received this message because you are subscribed to the Google Groups 
"Algorithm Geeks" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/algogeeks?hl=en.

Reply via email to