สำหรับกำลัง 3 ให้แบ่งกำลังเป็น 3 และใช้รหัสแบบเรียกซ้ำดังตัวอย่างต่อไปนี้ -
if (p!=0) { return (n * power(n, p - 1)); }
สมมุติว่าตัวเลขคือ 5 แล้วการวนซ้ำจะเป็น −
power(5, 3 - 1)); // 25 power (5,2-1): // 5
ด้านบนจะคืนค่า 5*25 เช่น 125 ดังแสดงด้านล่าง -
ตัวอย่าง
using System; using System.IO; public class Demo { public static void Main(string[] args) { int n = 5; int p = 3; long res; res = power(n, p); Console.WriteLine(res); } static long power (int n, int p) { if (p!=0) { return (n * power(n, p - 1)); } return 1; } }
ผลลัพธ์
125