C で範囲内の乱数を生成する

C で指定された範囲の乱数を生成する方法。例:

Input : Lower = 50, Upper = 100, Count of random Number = 5 Output : 91 34 21 88 29 Explanation: lower is the lower limit of the range and upper is the upper limit of the range. Output contains 5 random numbers in given range. 

C には、範囲内の数値を生成するための組み込み関数はありませんが、 ランド関数 0 から RAND_MAX までの乱数を生成します。 rand() を使用すると、範囲内の数値を次のように生成できます。 数値 = (rand() % (上位 – 下位 + 1)) + 下位

C




// C program for generating a> // random number in a given range.> #include> #include> #include> // Generates and prints 'count' random> // numbers in range [lower, upper].> void> printRandoms(> int> lower,> int> upper,> > int> count)> {> > int> i;> > for> (i = 0; i int num = (rand() % (upper - lower + 1)) + lower; printf('%d ', num); } } // Driver code int main() { int lower = 5, upper = 7, count = 1; // Use current time as // seed for random generator srand(time(0)); printRandoms(lower, upper, count); return 0; }>

出力:

7 

時間計算量 : O(N) (N は生成される乱数の数)

補助スペース: ○(1)

注記: 数値はランダムに生成されるため、実行ごとに生成される出力は異なる場合があります。