Problem of the day
You are given a number ‘N’ and a query ‘Q.’ If ‘Q’ is 1, then you have to return the sum of all integers from 1 to ‘N,’ else if ‘Q’ is equal to 2 then you have to return the product of all integers from 1 to ‘N.’ Since the product can be very large, return it modulo 10 ^ 9 + 7.
For example
Given ‘N’ = 4, ‘Q’ = 1.
Then the answer is 10 because the sum of all integers between 1 and 4 are 1, 2, 3, and 4. Hence 1 + 2 + 3 + 4 is equal to 10.
The first line of input contains an integer ‘T’ denoting the number of test cases.
Next, ‘T’ lines contain two space-separated integers ‘N’, where ‘N’ is the number given and ‘Q’, denoting the type of query.
Output Format :
For each test case, You are supposed to return an integer denoting the sum or product of ‘N’ numbers.
Note:
You are not required to print the expected output; it has already been taken care of. Just implement the function.
1 <= ‘T’ <= 10
1 <= ‘N’ <= 10^4
1 <= ‘Q’ <= 2
Time Limit: 1 sec.
2
4 1
4 2
10
24
In the first test case, the answer is 10 because all integers between 1 and 4 are 1, 2, 3, and 4. Hence 1 + 2 + 3 + 4 is equal to 10.
In the second test case, the answer is 25 because all integers between 1 and 4 are 1, 2, 3, and 4. Hence 1 * 2 * 3 * 4 is equal to 24.
2
5 1
5 2
15
120
Can you figure out how to find the sum and product of numbers from 1 to N?
The idea is to loop for the given ‘N’ according to the query ‘Q.’ It can be easily seen that sum of the first ‘N’ integers is represented by (‘N’ * ‘N + 1’) / 2. But for the product, we will have to loop from 1 to N.
The steps are as follows:
O(N), where ‘N’ is the number given.
Since in the worst case, we are looping from 1 to ‘N,’ Hence the overall complexity will be O(N).
O(1).
Since we are not using any extra space hence, the overall space complexity is O(1).