在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 < b,則將小玩具總數設定為現有小玩具總數加上 b * 現有大玩具總數,並將大玩具數量設定為 0。
現在,將大玩具總數設定為現有大玩具總數加上小玩具總數除以 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
廣告
資料結構
網路
關係型資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP