[4]素因数分解手順4
タイトル:品質係数の正の整数分解。入力90、90 = 3 * 2 * 3 * 5を印刷する:例えば。
分析手順:品質係数nの分解は、最も小さい素数kを見つける必要があり、その後、次の手順を終了します。
nと正確に等しいプライムは、次いで、素因数分解処理が完了している場合(1)は、プリントアウトすることができます。
kの値を印刷する必要があり、そしてkは新しい正の整数nとして、使用n分割されたn <> K、Nが、Kが割り切れる場合(2)、最初のステップを繰り返し実行します。
(3)においてnがKで割り切れない場合は、K + 1はkの値として使用され、最初のステップは、繰り返し実行されます。
パッケージcskaoyan。 輸入org.junit.Test; パブリッククラスcskaoyan4 { @Test 公共ボイドzhiYinShu(){ =新しいjava.util.Scanner(System.in)でjava.util.Scanner。 INT番号= in.nextInt()。 int型の素数= 2; in.close(); (数<2){もし 返します。 }他{ System.out.print(数+ "=")。 (!数=素数){ながら IF(数%プライム== 0){ System.out.print(プライム+ "*")。 番号=番号/プライム; }他{ プライム= nextPrime(プライム)。 } } System.out.print(番号) } } 公共INT nextPrime(INT番号){ 数=数+ 1。 一方、(TRUE){ IF(isPrime(番号)){ 戻り番号; }他{ 数=数+ 1。 } } } パブリックブールisPrime(INT番号){ ブールフラグ= TRUE。 (数<2){もし フラグ= FALSE。 }もしそうでなければ(数== 2){ フラグ= TRUE。 }他{ ため(INT I = 2; I <= Math.sqrt(数)、iは++){ IF(個数%I == 0){ フラグ= FALSE。 ブレーク; } } } フラグを返します。 } }