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

ขยายใหญ่สุดเมื่อสามารถแลกเปลี่ยนทั้งใหญ่และเล็กใน C++


เราได้รับวัตถุขนาดใหญ่ สมมุติว่า '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