Write a program that asks the user for a number and writes its decomposition into prime factors: The idea behind this decomposition is that when a factor is found we continue trying to find factors in the quotient; moreover we know that factors in the quotient cannot be smaller than the factors already found. For example: 780 = 2 × 390 = 2 × 2 × 195 = 2 × 2 × 3 × 65 = 2 × 2 × 3 × 5 × 13. Namely, we try to divide by 2 until we can’t anymore (195), so we try 3, until we can’t (65), so we try 4 (even though it is stupid because 4 is 2 × 2, it is easier to try to divide b
Write a
Remark that: • 0 is s spacial case: the output should be 0 = 0.
• Negative numbers are treated similarly as positive numbers, except their decomposition starts with -1 instead of 1, then their absolute value is decomposed.
• The first 1 is there to indicate the sign, but also so that when a factor p is found the program simply outputs “‘ * ‘” without needing to know whether this is the first time.
The prompt must be “Enter a number:” and the output according to the examples (mind the spaces!).
For example if the input is 42, the output must be “42 = 1 * 2 * 3 * 7”. If the input is -42, the output must be “-42 = -1 * 2 * 3 * 7”. If the input is 0, the output must be “0 = 0”.
Sample output1: Enter a number: 780
780 = 1 * 2 * 2 * 3 * 5 * 13
Sample output2: Enter a number: -42
-42 = -1 * 2 * 3 * 7
Sample output3: Enter a number: 0
0 = 0
C++ Nothing too advanced please
Trending now
This is a popular solution!
Step by step
Solved in 4 steps with 5 images