Given n and m, print first m multiples of a m number without using any loops in Python. Examples:
Input : n = 2, m = 3 Output : 2 4 6 Input : n = 3, m = 4 Output : 3 6 9 12
We can use range() function in Python to store the multiples in a range. First we store the numbers till m multiples using range() function in an array, and then print the array with using (*a) which print the array without using loop. Below is the Python implementation of the above approach:
Python3
# function to print the first m multiple # of a number n without using loop. def multiple(m, n): # inserts all elements from n to # (m * n)+1 incremented by n. a = range (n, (m * n) + 1 , n) print ( * a) # driver code m = 4 n = 3 multiple(m, n) |
Output:
3 6 9 12
Note : In Python 3, print(*(range(x)) is equivalent to print(” “.join([str(i) for i in range(x)]))
Approach: Using numpy arange() with reshape()
note: install numpy module using command “pip install numpy”
Here’s a method to solve this problem using the NumPy library’s arange() function and the reshape() function:
Algorithm:
Create a numpy array using arange() function with start as n and stop as (m*n)+n, and step as n.
Reshape the numpy array using reshape() function to a (m,1) matrix.
Convert the numpy array to a list using tolist() function.
Print the list using * operator.
Python3
# Import the NumPy library import numpy as np # Define a function to print the first m multiples of n without using loop def multiple(m, n): # Use NumPy's arange() function to create an array of multiples a = np.arange(n, m * n + 1 , n) # Use NumPy's reshape() function to reshape the array into a single row a = a.reshape( 1 , - 1 ) # Convert the array to a string with space-separated values result = ' ' .join(a[ 0 ].astype( str )) # Print the resulting string print (result) # Test the function with example inputs m = 4 n = 3 multiple(m, n) |
Output:
3 6 9 12
Time Complexity: The time complexity of this algorithm is O(m) as we are creating a numpy array with m elements and then reshaping it, which takes constant time.
Auxiliary Space: The space complexity of this algorithm is O(m) as we are creating a numpy array with m elements and then reshaping it, which takes constant space.