สมมติว่าเรามีตัวเลขสามตัว a, b และ c มีมะนาว บีแอปเปิ้ล และลูกแพร์ซี ในการทำผลไม้แช่อิ่ม อัตราส่วนผลไม้จะเป็น 1 :2 :4 เราไม่สามารถหั่นผลไม้เป็นชิ้นๆ ได้ เราต้องหาจำนวนสูงสุดของมะนาว แอปเปิ้ล และลูกแพร์ที่เราสามารถทำผลไม้แช่อิ่มได้ ถ้าเป็นไปไม่ได้ ให้คืนค่า 0
ดังนั้นหากอินพุตเป็นเหมือน a =4; ข =7; c =13 แล้วผลลัพธ์จะเป็น 21 เพราะเราสามารถใช้ 3 มะนาว 6 แอปเปิ้ลและ 12 ลูกแพร์ดังนั้นคำตอบคือ 3 + 6 + 12 =21
ขั้นตอน
เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ -
return 7 * (minimum of a, floor of (b / 2) and floor of (c / 4))
ตัวอย่าง
ให้เราดูการใช้งานต่อไปนี้เพื่อความเข้าใจที่ดีขึ้น -
#include <bits/stdc++.h> using namespace std; int solve(int a, int b, int c){ return 7 * min(a, min(b / 2, c / 4)); } int main(){ int a = 4; int b = 7; int c = 13; cout << solve(a, b, c) << endl; }
อินพุต
4, 7, 13
ผลลัพธ์
21