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

เปรียบเทียบ a^b และ b^a ว่าตัวไหนมากกว่าใน C++

ในบทช่วยสอนนี้ เราจะเขียนโปรแกรมเพื่อหาว่าระหว่าง ab และ ba ตัวไหนมีค่ามากกว่า

นี่เป็นปัญหาที่ตรงไปตรงมา มาดูขั้นตอนการแก้ปัญหา

  • กำหนดค่าเริ่มต้นของ a และ b
  • ขั้นตอนการแก้ปัญหา

    • หาค่า log ของทั้งสองค่า
    • คำนวณค่าของ $b\:\log\:a$ และ $a\:\log\:b$
    • เปรียบเทียบค่าทั้งสอง
    • ถ้า $a\:\log\:b$ มากกว่า $b\:\log\:a$ ให้พิมพ์ว่า ba มากกว่า
    • ถ้า $b\:\log\:a$ มากกว่า $a\:\log\:b$ ให้พิมพ์ว่า ab มากกว่า
    • มิฉะนั้น ให้พิมพ์ว่าทั้งสองเท่ากัน

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

    #include <bits/stdc++.h> 
    using namespace std; 
    
    int main() { 
        int a = 4, b = 7; 
        long double x = (long double) a * (long double)(log((long double)(b))); 
        long double y = (long double) b * (long double)(log((long double)(a))); 
        if (y > x) { 
            cout << "a ^ b is greater" << endl; 
        } else if (y < x) { 
            cout << "b ^ a is greater" << endl; 
        } else { 
            cout << "Both are equal" << endl; 
        } 
        return 0; 
    }

    ผลลัพธ์

    หากรันโค้ดด้านบน จะได้ผลลัพธ์ดังนี้:

    a ^ b is greater

    สรุป

    หากมีข้อสงสัยเกี่ยวกับบทช่วยสอนนี้ สามารถถามได้ในส่วนความคิดเห็น