Last Updated: 3 Dec, 2020

Sum or Product

Easy
Asked in companies
OkcreditNosh technologiesTCS

Problem statement

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.
Input format:
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.
Constraints:
1 <= ‘T’ <= 10
1 <= ‘N’ <= 10^4
1 <= ‘Q’ <= 2

Time Limit: 1 sec.

Approaches

01 Approach

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:

  • Maintain a variable ‘answer’ that stores the final result.
  • If ‘Q’ is 1:
    • ‘answer’ = (‘N’ * ‘N + 1’) / 2
  • Else:
    • Loop from 1 to ‘N’ using ‘i’.
    • For each iteration, multiply ‘i’ to ‘answer.’
  • Return ‘answer’ as the final answer.