// PrimeFactorization.java import java.text.DecimalFormat; import java.util.Scanner; public class PrimeFactorization { public static void prime(int product) { System.out.print(\"Prime Factorization: \"); int i=2; int count = 0; int temp = i; while(product>=1) { if(product%i == 0) { count++; product=product/i; } else { if(count > 0) System.out.print(i + \"^\"+ count+\" \"); count = 0; i++; } } System.out.println(); } public static void main(String [] args) { Scanner sc=new Scanner(System.in); System.out.print(\"Enter integers: \"); int number = sc.nextInt(); if(number < 0) { System.out.println(\"Bad Input\"); System.exit(1); } int product = number; while(true) { number = sc.nextInt(); if(number < 0 ) break; else product = product * number; } System.out.println(\"Product: \" + product); prime(product); } } /* output: Enter integers: 882 18 26 -45 Product: 412776 Prime Factorization: 2^3 3^4 7^2 13^1 Enter integers: 19 -5 Product: 19 Prime Factorization: 19^1 Enter integers: -37 99 124 22 -65 Bad Input */ Solution // PrimeFactorization.java import java.text.DecimalFormat; import java.util.Scanner; public class PrimeFactorization { public static void prime(int product) { System.out.print(\"Prime Factorization: \"); int i=2; int count = 0; int temp = i; while(product>=1) { if(product%i == 0) { count++; product=product/i; } else { if(count > 0) System.out.print(i + \"^\"+ count+\" \"); count = 0; i++; } } System.out.println(); } public static void main(String [] args) { Scanner sc=new Scanner(System.in); System.out.print(\"Enter integers: \"); int number = sc.nextInt(); if(number < 0) { System.out.println(\"Bad Input\"); System.exit(1); } int product = number; while(true) { number = sc.nextInt(); if(number < 0 ) break; else product = product * number; } System.out.println(\"Product: \" + product); prime(product); } } /* output: Enter integers: 882 18 26 -45 Product: 412776 Prime Factorization: 2^3 3^4 7^2 13^1 Enter integers: 19 -5 Product: 19 Prime Factorization: 19^1 Enter integers: -37 99 124 22 -65 Bad Input */.