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

Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
icon
Related questions
Question

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 by non prime numbers because that means the program does not have to know whether a number is prime), then we try 5 (we have 13), then we try 6, 7, 8, 9, 10, 11, 12 without success, then we try 13, and we have 1 so we stop.

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

Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 4 steps with 5 images

Blurred answer
Knowledge Booster
Random Class and its operations
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
Database System Concepts
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education