6.2k views
0 votes
Factoring of integers. Write a python program that asks the user for an integer and then prints out all its factors. For example, when the user enters 150, the program should print 2 3 5 5.

This is just a pseudocode for visual:
Get a value from user Print
"The factors are: "
Keep going while the value is greater than 1
Start the divisor at 2 A factor has not been found Keep going until a factor is found
If the value is evenly divisible by the divisor
A factor has been found
Print the divisor Change value to equal value / divisor.
You have now found a factor you want to see if there are factors in the remaining part of the number.
FYI: For instance if the number is 100, your first factor would be 2 and on our second time through you would need to see if there are factors of 50. This would result in another factor of 2 in the third pass and looking for factors of 25. This would result in a factor of 5 in the fourth pass and looking for factors of 5. This would result in value finally = 1 so you are done. If I enter 175, I would see 5, 5, and 7 as my results. Increment the divisor so you can see if the next number is a factor. This statement is not necessary if a factor is found, but it does not matter if it is executed because you will fall out of the inside nested if and reset the divisor to 2 if you come back in.

User FriendFX
by
5.7k points

1 Answer

4 votes

num = int(input("Enter a number: "))

i = 2

while num > 1:

if num % i == 0:

num = num / i

print(i, end=" ")

i = 2

i += 1

I hope this helps!

User Vinga
by
5.1k points