Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

โปรแกรม C++ คำนวณเลขยกกำลัง (Power) ด้วย Recursion


กำลังของจำนวน x^y โดย x = base, y = exponent

ตัวอย่าง: 2^10 = 1024

ตัวอย่างโค้ด (Recursive)

#include <iostream>
using namespace std;

int FindPower(int base, int power) {
    if (power == 0)
        return 1;
    else
        return (base * FindPower(base, power-1));
}

int main() {
    int base = 3, power = 5;
    cout << base << " raised to the power " << power << " is " << FindPower(base, power);
    return 0;
}

ผลลัพธ์

3 raised to the power 5 is 243

อธิบายการทำงาน

FindPower() แบบ Recursive:

int FindPower(int base, int power) {
    if (power == 0)
        return 1;
    else
        return (base * FindPower(base, power-1));
}
  • power == 0 → คืน 1 (x^0 = 1)
  • มิฉะนั้น คืน base × FindPower(base, power-1)
  • เรียกซ้ำจน power=0 แล้วคูณย้อนกลับ = base^power

main() เรียกฟังก์ชันแสดงผล