Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Lập Trình C

Tính lũy thừa không dùng * và / trong C

Tính aᵇ không dùng phép nhân/chia. Dùng cộng lặp lồng nhau: a² = a+a+...+a (a lần), a³ = a²+a²+... (a lần),...

Ví dụ

4² = 16

Chương trình

#include <iostream>
using namespace std;

int main() {
    int a = 4, b = 2;
    if (b == 0) { cout << 1; return 0; }
    
    int ans = a, inc = a;
    for (int i = 1; i < b; i++) {
        for (int j = 1; j < a; j++)
            ans += inc;
        inc = ans;
    }
    cout << "Ket qua = " << ans; // 16
    return 0;
}

Kết quả

Ket qua = 16