問題描述 設計算法,用戶輸入合數,程序輸出若個素數的乘積。例如,輸入6,輸出2*3。輸入20,輸出2*2*5。 樣例 與上面的樣例輸入對應的輸出。 例: 120 2*2*2*3*5
數據規模和約定 輸入數據中每一個數在int表示范圍內。
import java.util.Scanner;public class Main{ public static void main(String args[]){ Scanner in=new Scanner(System.in); int n=in.nextInt(); if(zhishu(n)){ System.out.PRintln(n); }else{ boolean flag=true; while(n%2==0){ //n能被2整除的情況 if(flag){ System.out.print(2); flag=false; } else{ System.out.print("*2"); } n/=2; } while(n!=1){//n不能被2整除的情況 for(int i=3;;i+=2){ if(zhishu(i) && n%i==0){ if(flag){ System.out.print(i); flag=false; }else{ System.out.print("*"+i); } n/=i; break; } } } } } public static boolean zhishu(int a){ for(int i=2;i<a;i++){ if(a%i==0){ return false; } } return true; }}新聞熱點
疑難解答