แนวคิด
ในส่วนที่เกี่ยวกับช่วงของต้นทุนที่กำหนดตั้งแต่ต้นทุนต่ำไปจนถึงต้นทุนสูง และช่วงของปริมาณจากปริมาณต่ำถึงปริมาณมาก ให้พิจารณาว่าเป็นไปได้ที่จะได้รับอัตราส่วนที่กำหนด r โดยที่ r=ต้นทุน/ปริมาณ และต้นทุนต่ำ <=ต้นทุน <=ต้นทุนที่เพิ่มขึ้นและปริมาณต่ำ <=ปริมาณ <=upQuant.
อินพุต
lowCost = 2, upCost = 10, lowQuant = 3, upQuant = 9 r = 3
ผลลัพธ์
Yes
คำอธิบาย
ที่นี่ ราคา =r * ปริมาณ =3 * 3 =9 โดยที่ต้นทุนอยู่ใน [1, 10] และปริมาณอยู่ใน [2, 8]
อินพุต
lowCost = 15, upCost = 31, lowQuant = 6, upQuant = 13 r = 8
ผลลัพธ์
No
คำอธิบาย
ที่นี่ ราคา =r * ปริมาณ =8 * 6 =48 โดยที่ต้นทุนไม่อยู่ใน [15, 31] และแม้ว่าปริมาณจะอยู่ใน [6, 13]
วิธีการ
สำหรับสูตรที่กำหนด สามารถอนุมานสมการต่อไปนี้ได้อย่างง่ายดาย -
ราคา=ปริมาณ * r. โดยที่ r ถูกระบุเป็นอัตราส่วนระหว่างต้นทุนและปริมาณ
ด้วยความเคารพจากสมการข้างต้น ตรรกะสามารถอนุมานได้ง่าย ตรวจสอบผลิตภัณฑ์ของทุกมูลค่าของปริมาณด้วย r และควรสังเกตว่าหากมูลค่าของผลิตภัณฑ์อยู่ระหว่างต้นทุนต่ำและต้นทุนสูง คำตอบคือ ใช่ ไม่เช่นนั้น แสดงว่าไม่ใช่
ตัวอย่าง
// C++ program to find if it is // possible to get the ratio r #include <bits/stdc++.h> using namespace std; // Here, returns true if it is // possible to obtain ratio r // from given cost and // quantity ranges. bool isRatioPossible1(int lowCost1, int upCost1, int lowQuant1, int upQuant1, int r1){ for (int i = lowQuant1; i <= upQuant1; i++){ // Used to calculate cost corresponding // to value of i int ans1 = i * r1; if (lowCost1 <= ans1 && ans1 <= upCost1) return true; } return false; } // Driver Code int main(){ int lowCost1 = 2, upCost1 = 10, lowQuant1 = 3, upQuant1 = 9, r1 = 3; if (isRatioPossible1(lowCost1, upCost1, lowQuant1, upQuant1, r1)) cout << "Yes"; else cout << "No"; return 0; }
ผลลัพธ์
Yes