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

So sánh x^y và y^x tìm giá trị lớn hơn trong C++


Cho hai số x và y. Nhiệm vụ: tìm giá trị lớn hơn giữa x^y và y^x.

Mô tả: So sánh x^y và y^x.

Ví dụ:

Đầu vào: x = 4, y = 5

Đầu ra: 1024

Giải thích:

x^y = 4^5 = 1024
y^x = 5^4 = 625

Phương pháp giải

Cách trực tiếp: tính cả hai, so sánh.

Cách toán học: dùng logarit. x^y = y*log(x). So sánh y*log(x) với x*log(y).

Chương trình minh họa

Ví dụ

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

int main() {
    double x = 3, y = 7;
    double ylogx = y * log(x);
    double xlogy = x * log(y);
    if (ylogx > xlogy)
        cout << x << "^" << y;
    else if (ylogx < xlogy)
        cout << y << "^" << x;
    else
        cout << "None";
    cout << " has greater value";
    return 0;
}

Kết quả

3^7 has greater value