/*
 * 作成日: 2006/05/11
 *
 * shinnou 追加宿題の解答
 */

public class ShinnouHW {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO 自動生成されたメソッド・スタブ
		int n = Integer.parseInt( args[0]);
		int k = 2, c = 0;
		System.out.println(n + " の素因数分解は");
		while((n % k) == 0) {
			c++;
			n /= k;
		}
		if (c > 0) {
			System.out.println(k + "の" + c + "乗");
		}
		c = 0; k = 3;
		while(n != 1){
			while((n % k) == 0) {
				c++;
				n /= k;
			}
			if (c > 0) {
				System.out.println(k + "の" + c + "乗");
			}
			c = 0;
			k += 2;
		}
		System.out.println("の積です");
	}

}

実行例

> java ShinnouHW 48655
48655 の素因数分解は
5の1乗
37の1乗
263の1乗
の積です