在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