โจทย์
อสมการของเนสบิตคือ (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