เราได้รับวัตถุขนาดใหญ่ สมมุติว่า 'a' และวัตถุขนาดเล็ก สมมุติว่า 'b' ตัวเลือกสำหรับวัตถุ 'a' และ 'b' ขึ้นอยู่กับผู้ใช้ ในตัวอย่างด้านล่าง เรากำลังนำสิ่งของไปเป็นของเล่นที่ใหญ่หรือเล็กตามลักษณะขนาด ภารกิจคือการคำนวณจำนวนสูงสุดของของเล่นขนาดใหญ่ที่สามารถทำได้โดยให้ของเล่นชิ้นเล็กเป็นการตอบแทน
ป้อนข้อมูล − big_toys =8, small_toys =20, a =6, b =4
ผลผลิต − ขยายใหญ่สุดเมื่อแลกเปลี่ยนได้ทั้งขนาดใหญ่และขนาดเล็ก − 11
คำอธิบาย − จำนวนของเล่นใหญ่สูงสุดที่สามารถซื้อโดยใช้ของเล่นขนาดเล็กได้ เช่น 20 ชิ้นมี 11 ชิ้น
ป้อนข้อมูล − big_toys =3, small_toys =10, a =4, b =2
ผลผลิต − ขยายใหญ่สุดเมื่อแลกเปลี่ยนได้ทั้งขนาดใหญ่และขนาดเล็ก:5
คำอธิบาย − จำนวนของเล่นใหญ่สูงสุดที่สามารถซื้อโดยใช้ของเล่นขนาดเล็ก เช่น 10 ชิ้นมี 5 ชิ้น
แนวทางที่ใช้ในโปรแกรมด้านล่างมีดังนี้
-
ใส่จำนวนรวมของของเล่นชิ้นใหญ่และชิ้นเล็ก นอกจากนี้ ใช้ 'a' เป็นจำนวนรวมของของเล่นขนาดใหญ่ที่สามารถแลกเปลี่ยนเป็นของเล่นขนาดเล็ก และ 'b' เป็นจำนวนรวมของของเล่นขนาดเล็กที่สามารถแลกเปลี่ยนเป็นของเล่นขนาดใหญ่ได้
-
ถ้า a
-
ตอนนี้ ให้ตั้งค่าของเล่นตัวใหญ่เป็นผลรวมของจำนวนของเล่นชิ้นใหญ่ทั้งหมดที่หาได้จากของเล่นชิ้นเล็กหารด้วย a
-
คืนยอดรวมของเล่นใหญ่เพราะเราต้องการของเล่นชิ้นใหญ่สูงสุดที่สามารถแลกเปลี่ยนเป็นของเล่นชิ้นเล็กได้
-
พิมพ์ผลลัพธ์
ตัวอย่าง
#include <iostream> using namespace std; int maximum(int big_toys, int small_toys,int a, int b){ if (a < b){ small_toys += b * big_toys; big_toys = 0; } big_toys += (small_toys / a); return big_toys; } int main(){ int big_toys = 8, small_toys = 20; int a = 6, b = 4; cout<<"Maximize big when both big and small can be exchanged are:"<<maximum(big_toys, small_toys, a, b); return 0; }
ผลลัพธ์
Maximize big when both big and small can be exchanged are: 11