Given two integers M and N, the task is to create a list of M non-negative integers whose sum is N. In case when more than one list is possible, find any one.
Input: M = 4, N = 8
Output: 1 3 3 1
1 + 3 + 3 + 1 = 8
Input: M = 5, N = 3
Output: 0 1 1 0 1
Approach: To get a complete random list of integers, create an array of size M where every element is initialised with 0. Now run a loop from 0 to N – 1 and increment any randomly chosen element from the array by 1 using the rand() function. This way, sum of the resuntant list will be N.
Below is the implementation of the above approach:
1 3 3 1
Time Complexity: O(max(M, N))
GeeksforGeeks has prepared a complete interview preparation course with premium videos, theory, practice problems, TA support and many more features. Please refer Placement 100 for details
- Move all zeros to start and ones to end in an Array of random integers
- Median in a stream of integers (running integers)
- Binomial Random Variables
- Pseudo Random Number Generator (PRNG)
- Select a random number from stream, with O(1) space
- Probability that a random pair chosen from an array (a[i], a[j]) has the maximum sum
- Erdos Renyl Model (for generating Random Graphs)
- Random number generator in arbitrary probability distribution fashion
- Generate a random permutation of elements from range [L, R] (Divide and Conquer)
- Probability of getting a perfect square when a random number is chosen in a given range
- Probability of getting two consecutive heads after choosing a random coin among two different types of coins
- Find two integers A and B such that A ^ N = A + N and B ^ N = B + N
- How to sum two integers without using arithmetic operators in C/C++?
- Factorial of an Array of integers
- Armstrong Numbers between two integers
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to firstname.lastname@example.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.