查找是否有可能在C ++中从给定的成本和数量范围获得比率

概念

对于从lowCost到upCost的给定成本范围以及从lowQuant到upQuant的给定数量范围,确定是否有可能获得给定比率r,其中r =成本/数量,并且lowCost <=成本<= upCost和lowQuant < =数量<= upQuant。

输入项

lowCost = 2, upCost = 10,

lowQuant = 3, upQuant = 9

r = 3

输出结果

Yes

说明

此处,成本= r *数量= 3 * 3 = 9,其中成本在[1,10]中,数量在[2,8]中

输入项

lowCost = 15, upCost = 31,

lowQuant = 6, upQuant = 13

r = 8

输出结果

No

说明

在这里,成本= r *数量= 8 * 6 = 48,其中成本不在[15,31]中,而数量在[6,13]中

方法

对于给定的公式,可以轻松推导出以下公式:

成本=数量* r。其中,r表示为成本与数量之比。

关于上述等式,可以容易地推论逻辑。用r检验每个数量值的乘积,应注意,如果乘积的任何一个值介于lowCost和upCost之间,则答案为是,否则为否。

示例

// C++ program to find if it is

//可能得到比率r-

#include <bits/stdc++.h>

using namespace std;

//,则返回true

//可能获得比率r-

//从给定的成本和

//数量范围。

bool isRatioPossible1(int lowCost1, int upCost1,

int lowQuant1, int upQuant1,

int r1){

   for (int i = lowQuant1; i <= upQuant1; i++){

      //用于计算成本对应

      //到我的值

      int ans1 = i * r1;

      if (lowCost1 <= ans1 && ans1 <= upCost1)

      return true;

   }

   return false;

}

//驱动程式码

int main(){

   int lowCost1 = 2, upCost1 = 10,

   lowQuant1 = 3, upQuant1 = 9,

   r1 = 3;

   if (isRatioPossible1(lowCost1, upCost1,

      lowQuant1, upQuant1, r1))

      cout << "Yes";

   else

      cout << "No";

   return 0;

}

输出结果

Yes

以上是 查找是否有可能在C ++中从给定的成本和数量范围获得比率 的全部内容, 来源链接: utcz.com/z/326798.html

回到顶部