Computer >> Máy Tính >  >> Lập trình >> C ++

Tối đa hóa lớn khi cả lớn và nhỏ đều có thể được trao đổi trong C ++

Chúng ta được đưa cho một đối tượng lớn, giả sử là "a" và một đối tượng nhỏ giả sử, "b". Các lựa chọn cho đối tượng ‘a ’và‘ b ’phụ thuộc vào người dùng. Trong ví dụ dưới đây, chúng tôi đang coi các đối tượng là đồ chơi có kích thước lớn cũng như nhỏ tùy theo đặc điểm kích thước. Nhiệm vụ là tính toán số lượng đồ chơi lớn tối đa có thể đạt được bằng cách đổi lại các đồ chơi nhỏ.

Đầu vào - big_toys =8, small_toys =20, a =6, b =4

Đầu ra - Tối đa hóa số tiền lớn khi có thể trao đổi cả lớn và nhỏ - 11

Giải thích - Số lượng đồ chơi lớn có thể mua tối đa bằng đồ chơi nhỏ, tức là 20 món là 11 món

Đầu vào - big_toys =3, small_toys =10, a =4, b =2

Đầu ra - Tối đa hóa lớn khi đổi được cả lớn và nhỏ là:5

Giải thích - Số lượng đồ chơi lớn có thể mua tối đa bằng đồ chơi nhỏ, tức là số lượng 10 món là 5

Phương pháp tiếp cận được sử dụng trong chương trình dưới đây như sau

  • Nhập tổng số đồ chơi lớn và đồ chơi nhỏ. Ngoài ra, lấy "a" là tổng số đồ chơi lớn có thể đổi lại đồ chơi nhỏ và "b" là tổng số đồ chơi nhỏ có thể đổi lại đồ chơi lớn.

  • Nếu a

  • Bây giờ, đặt đồ chơi lớn là tổng của tổng số đồ chơi lớn có sẵn với đồ chơi nhỏ chia cho a.

  • Trả lại tổng số đồ chơi lớn vì chúng tôi cần tối đa số đồ chơi lớn có thể đổi bằng cách trả lại đồ chơi nhỏ.

  • In kết quả.

Ví dụ

#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;
}

Đầu ra

Maximize big when both big and small can be exchanged are: 11