andy6804tw
8/15/2016 - 2:37 AM

http://e-tutor.itsa.org.tw/e-Tutor/mod/programming/view.php?id=3631 這題要使用long迴圈下去除

import java.util.*;  
  
public class Main {  
  
    public static void main(String[] args) {  
        Scanner scn = new Scanner(System.in);  
       	long num=scn.nextLong(),n=num,i=2;
       	boolean b=true;
       	while(true){
       		int count=0;
       		while(n%i==0){
       			n/=i;
       			count++;
       		}
       		if(count>1){
       			System.out.printf("%d^%d",i,count);
       			b=false;
       		}
       		else if(count==1&&b){
       			System.out.printf("%d",i);
       			b=false;
       		}
       		else if(count==1){
       			System.out.printf(" * %d",i);
       			b=false;
       		}
       		if(n==1)
       			break;
       		i++;
       	}
       	System.out.println();
    }
    /* 
    題目:[C_MM145-易] 質因數分解
    作者:1010
    時間:西元 2016 年 8 月 */
}