24h購物| | PChome| 登入
2011-06-17 13:03:40| 人氣4,546| 回應0 | 上一篇 | 下一篇

[JAVA] a010. 因數分解

推薦 0 收藏 0 轉貼0 訂閱站台

/**********************************************************************************/
/*  Problem: a010 "因數分解"                                                  */
/*  Language: JAVA                                                                */
/*  Result: AC (104ms, 5604KB) on ZeroJudge                                       */
/*  Author: new1028 at 2011-06-17 10:36:27                                        */
/**********************************************************************************/


import java.util.Scanner;
import java.lang.Math.*;
public class a010 {
    public static void main(String args[]) {
        Scanner cin = new Scanner(System.in);
        int N, a, t, sq, flag;
        while(cin.hasNext()) {
            N = cin.nextInt();
            sq = (int)Math.sqrt(N);
            flag = 0;
            for(a = 2; a <= sq; a++) {
                if(N%a == 0) {
                    t = 0;
                    while(N%a == 0) {
                        t++;    N /= a;
                    }
                    if(flag != 0)
                        System.out.print(" ");
                    flag = 1;
                    
                    if(t != 1)
                        System.out.print(a + "^" + t);
                    else
                        System.out.print(a);
                       
                    if(N != 1)
                        System.out.print(" *");
                }
            }
            if(flag != 0)
                System.out.print(" ");
            if(N != 1)
                System.out.print(N);
            System.out.println();
        }
    }
}

台長: Morris
人氣(4,546) | 回應(0)| 推薦 (0)| 收藏 (0)| 轉寄
全站分類: 不分類 | 個人分類: ZeroJudge |
此分類下一篇:d816. 不要再晃啦!
此分類上一篇:[JAVA] a009. 解碼器

是 (若未登入"個人新聞台帳號"則看不到回覆唷!)
* 請輸入識別碼:
請輸入圖片中算式的結果(可能為0) 
(有*為必填)
TOP
詳全文