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

อสมการของเนสบิต (Nesbitt's Inequality) ใน C++

โจทย์

อสมการของเนสบิตคือ (a/(b + c)) + (b/(c + a)) + (c/(a + b)) >= 1.5, a > 0, b > 0, c > 0

ได้รับตัวเลขสามตัว เราต้องตรวจสอบว่าตัวเลขสามตัวนี้ทำให้อสมการของเนสบิตเป็นจริงหรือไม่

เราสามารถทดสอบได้ว่าตัวเลขสามตัวทำให้อสมการของเนสบิตเป็นจริงหรือไม่ โปรแกรมนี้ตรงไปตรงมา

อัลกอริธึม

  • กำหนดตัวเลขสามตัว a, b, และ c
  • คำนวณค่าของแต่ละส่วนจากสมการ
  • บวกทั้งหมดเข้าด้วยกัน
  • ถ้าผลรวมมากกว่าหรือเท่ากับ 1.5 แสดงว่าทำให้อสมการของเนสบิตเป็นจริง มิฉะนั้นไม่เป็นจริง

การนำไปใช้งาน

ต่อไปนี้เป็นการนำไปใช้งานของอัลกอริธึมข้างต้นใน C++

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

bool isValidNesbitt(double a, double b, double c) { 
    double A = a / (b + c); 
    double B = b / (a + c); 
    double C = c / (a + b); 
    double result = A + B + C; 
    return result >= 1.5; 
} 

int main() { 
    double a = 3.0, b = 4.0, c = 5.0; 
    if (isValidNesbitt(a, b, c)) { 
        cout << "Nesbitt's inequality is satisfied" << endl; 
    }else { 
        cout << "Nesbitt's inequality is not satisfied" << endl; 
    } 
    return 0; 
}

ผลลัพธ์

หากคุณรันโค้ดข้างต้น คุณจะได้ผลลัพธ์ดังนี้

Nesbitt's inequality is satisfied