C ++
 Computer >> コンピューター >  >> プログラミング >> C ++

2つの数値による除算がC++の利益に関連付けられている場合、利益を最大化します


5つの整数N、A、B、Xが与えられます およびY 。目標は、[1からN]の範囲の数値の間で、

の場合、それをチェックすることによって利益を最大化することです。
  • 数値はAで割り切れ、利益は X増加します 。

  • 数値はBで割り切れ、利益は Y増加します 。

範囲内の特定の数に対して、利益を1回だけ追加できます。

例を挙げて理解しましょう。

入力 − N =4、A =2、B =3、X =2、Y =3

出力 −最大利益は− 7

説明

2,4はA(2)で割り切れます。利益は0から2に増加し、次に2から4に増加します(X =2)

3はB(3)で割り切れます。利益は4から7に増加します(Y =3まで)

入力 − N =5、A =2、B =4、X =1、Y =3

出力 −最大利益は次のとおりです:4

説明

2,4はA(2)で割り切れます。

4もB(4)で割り切れます。

2の場合、利益は0から1に増加します(Xによる)。 4については、Bによる除算を選択しました。したがって、Yが多いほど、利益はXではなくYだけ増加します。したがって、1から4に上昇します(Y =3)。

以下のプログラムで使用されているアプローチは次のとおりです

  • 整数N、A、B、X、Yがあります。

  • 関数maximizeProfit(int n、int a、int b、int x、int y)は利益を計算し、値を返します。すべての変数をパラメーターとして受け取り、最大の利益を返します。

  • 変動利益には、最初は0の利益額があります。

  • 1からnまで、forループを使用してiのaとbによる除算性を確認します

  • iがaとbの両方で割り切れる場合は、利益をxまたはyのどちらか多い方だけ増やします。

  • それ以外の場合、iがのみで割り切れる場合は、利益をxだけ増やします

  • それ以外の場合、iがbのみで割り切れる場合は、利益をyだけ増やします

  • 結果として利益に存在する最終的な戻り値。

#include <bits/stdc++.h>
using namespace std;
// Function to return the maximum profit
int maximizeProfit(int n, int a, int b, int x, int y){
   int profit=0;
   for(int i=1;i<=n;i++){
      if(i%a==0 && i%b==0){
         int maxx=x>=y?x:y;
         profit+=maxx;
      }
      else if(i%a==0){
         profit+=x;
      }
      else if(i%b==0){
         profit+=y;
      }
   }
   return profit;
}
int main(){
   int N = 6, A = 2, B =4, X = 6, Y = 3;
   cout <<"Maximized profit is: "<<maximizeProfit(N,A,B,X,Y);
   return 0;
}
出力

上記のコードを実行すると、次の出力が生成されます-

Maximized profit is: 2

  1. 2つ以上(または配列)の数値のGCD0のC++プログラム?

    ここでは、3つ以上の数値の公約数を取得する方法を説明します。 2つの数値の公約数を見つけるのは簡単です。 3つ以上の数値のgcdを見つけたい場合は、gcdの結合法則に従う必要があります。たとえば、{w、x、y、z}のgcdを検索する場合は、{gcd(w、x)、y、z}、次に{gcd(gcd(w、x)、y)になります。 、z}、最後に{gcd(gcd(gcd(w、x)、y)、z)}。アレイを使用すると、非常に簡単に実行できます。 アルゴリズム gcd(a、b) begin    if a is 0, then       return b &n

  2. 2つの数値を交換するC++プログラム

    2つの数値を交換するプログラムを作成する方法は2つあります。 1つは一時変数を使用することを含み、2番目の方法は3番目の変数を使用しません。これらは次のように詳細に説明されています- 一時変数を使用して2つの数値を交換するプログラム 一時変数を使用して2つの数値を交換するプログラムは次のとおりです。 例 #include <iostream > using namespace std; int main() {    int a = 10, b = 5, temp;    temp = a;    a = b; &nbs