/* source-encoding >> UTF-8 ######################### # 素因数分解 # author : 河合 佑太 # ########################## */ class Soinsuj{ //アルゴリズムはシェルスクリプト版と同様 void solver1(int targetNum) { int dividNum = 2; int targetSqrt = (int)Math.sqrt(targetNum); System.out.print(targetNum); System.out.print(">> "); while(dividNum <= targetSqrt) { if((targetNum % dividNum) == 0) { targetNum = targetNum / dividNum; targetSqrt = (int)Math.sqrt(targetNum); System.out.print(" "); System.out.print(dividNum); }else{ dividNum++; } } if(targetNum != 1){ System.out.print(" ");System.out.print(targetNum); } System.out.println(""); } //プログラムのエントリーポイント public static void main(String[] args){ //Soinsujクラスをインスタンス化 Soinsuj j = new Soinsuj(); int num; //ここのループ回数を調節して各実験を行う for(num=1; num <= 10000000; num++){ //Soinsujクラスで定義したメソッドsolver1を素因数分解すべき数を引数にして //呼び出す j.solver1(num); } } }