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
-
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(それを含む)
-
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