یکی از مسئلههایی که به کمک الگوریتمهای بازگشتی حل میشود، محاسبهی توان است.شیوههای مختلفی برای پیادهسازی بازگشتی توان وجود دارد.
الگوریتم اول
int power(double a, int n) { if (n == 0) return 1; return power(a,n-1)*a; }
الگوریتم دوم
int power (double a, int n) { if (n == 0) return 1; if (n % 2 == 0) return pow (power(a,n/2),2); else return a*pow (power(a,n/2),2);
در هر مرحله از بازگشت، مقدار توان نصف میشود و بنابراین زمان کل اجرای الگوریتم، (O(log n است.