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

Cで割り切れる最大の正の整数であり、C ++では[A、B]の範囲にあります


ここで、1つの興味深い問題が発生します。 3つの整数A、B、およびCがあると考えてみましょう。XmodC =0であり、Xが[A、B]の範囲にないように、1つの最小整数Xを見つける必要があります。 A、B、Cの値がそれぞれ5、10、4の場合、Xの値は4になります。解を得るには、次の手順に従う必要があります-

手順-

  • Cが[A、B]の範囲にない場合は、結果としてCを返します

  • それ以外の場合は、Bより大きいCの最初の倍数を取得し、その値を返します

#include <iostream>
using namespace std;
int findMinMumber(int a, int b, int c) {
   if (c < a || c > b)
   return c;
   int res = ((b / c) * c) + c;
   return res;
}
int main() {
   int a = 2, b = 4, c = 2;
   cout << "Minimum number X: " << findMinMumber(a, b, c);
}

出力

Minimum number X: 6

  1. C++で配列を均等に分割するために必要な最小の正の整数

    問題の説明 N個の正の整数の配列が与えられた場合、タスクは、配列の任意の2つの要素の間に配置できる最小の正の整数を見つけて、その前に発生するサブ配列内の要素の合計が、発生する要素の合計と等しくなるようにすることです。その後のサブ配列で、新しく配置された整数が2つのサブ配列のいずれかに含まれます 例 arr ={3、2、1、5、7、10}の場合、出力は6です。値6を5と7の間に置くと、左右のサブアレイの合計は次のように等しくなります- + 2 + 1 + 5 + 6 =17 7 + 10 =17 アルゴリズム 配列全体の合計をSで計算します アイデアは、インデックスi(それを含む)

  2. Cで割り切れる最小の正の整数であり、C ++では範囲[A、B]にありません

    3つの整数A、B、およびCがあるとします。XmodC =0であり、Xが[A、B]の範囲にないように、1つの最小整数Xを見つける必要があります。 A、B、Cの値がそれぞれ5、10、4の場合、Xの値は4になります。解を得る手順を見てみましょう- 手順 − Cが[A、B]の範囲にない場合は、結果としてCを返します それ以外の場合は、Bより大きいCの最初の倍数を取得し、その値を返します 例 #include <iostream> using namespace std; int findMinMumber(int a, int b, int c) {    i