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

Chương trình so sánh a^n và b^n trong C++


Cho a, b, n. So sánh a^n và b^n mà không tính trực tiếp (tránh tràn số).

Thuật toán

  • Nếu n chẵn: lấy giá trị tuyệt đối |a|, |b| (vì lũy thừa chẵn luôn dương).
  • So sánh a và b sau khi điều chỉnh.
  • Nếu a==b → bằng nhau; a>b → a^n lớn hơn; ngược lại b^n lớn hơn.

Ví dụ triển khai (C++)

#include <bits/stdc++.h>
using namespace std;

void findGreater(int a, int b, int n) {
    if (!(n & 1)) { a = abs(a); b = abs(b); }
    if (a == b) cout << "a^n is equal to b^n";
    else if (a > b) cout << "a^n is greater than b^n";
    else cout << "b^n is greater than a^n";
}

int main() {
    int a = 12, b = 24, n = 5;
    findGreater(a, b, n);
    return 0;
}

Đầu ra

b^n is greater than a^n