สำหรับกำลัง 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