/*
* 作成日: 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乗
の積です