How to multiple number given number of times without any module or methods

Question:

I am trying to implement this but got stuck

num = 10
r = 3

Need to multiple num 3 times as r is 3

Output : 10 * 10 * 10 -> 1000

Should not be using pow or **

Asked By: nogoriv567

||

Answers:

Use a loop to repeat the multiplication

def my_pow(value, power):
    result = 1
    for _ in range(power):
        result *= value
    return result

print(my_pow(2, 4))  # 16
print(my_pow(10, 3))  # 1000
Answered By: azro

If you don’t want to use pow, you can implement a pow by yourself.
Generally, you should have a loop to repeat multiple to count of your r:

num = 10
r = 3

result = 1
for _ in range(r):
    result = result * num
Answered By: Amin

You can use while loop to perform power calculation.

Working:-

Initialising res=1 because the minimum value of result can be 1 i.e when r=0

In every iteration res is multiply by the num and the value of r is decreased by 1 this loop will iterate till the r becomes 0.

Now you can print the res as you achieved the power calculation..

Note:-

limitation. if the power is negative this code not work. it works when 0<=r<=+inf

num = 10
r = 3
res=1
while r:
    res=num*res
    r-=1
print(res) #1000

if the constraints are -inf<=r=<+inf:

you can apply this code..!

num = 10
r = -3
res=1
if r>=0:
    while r:
        res=num*res
        r-=1
    print(res) 
else:
    while r<0:
        res=res/num
        r+=1
    print(res)
Answered By: Yash Mehta
Categories: questions Tags:
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.