JavaStudy——0062:最大質因子序列
阿新 • • 發佈:2018-12-20
總時間限制: 1000ms 記憶體限制: 65536kB
描述 任意輸入兩個正整數m, n (1 < m < n <= 5000),依次輸出m到n之間每個數的最大質因子(包括m和n;如果某個數本身是質數,則輸出這個數自身)。
輸入 一行,包含兩個正整數m和n,其間以單個空格間隔。 輸出 一行,每個整數的最大質因子,以逗號間隔。
樣例輸入
5 10
樣例輸出
5,3,7,2,3,5
Accepted程式碼
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner in= new Scanner(System.in);
int m=in.nextInt();
int n=in.nextInt();
for (int j=m;j<=n;j++) {
for (int k=j;k>=2;k--) {
if((j%k==0) && (IsPrime(k))) {
System.out.print(k);
if(j!=n)
System. out.print(",");
break;
}
}
}
in.close();
}
static boolean IsPrime(int x) {
int i=2;
while(i<=Math.floor(Math.sqrt(x))&&(x%i!=0))
i++;
if(i>Math.floor(Math.sqrt(x)))
return true;
else
return false;
}
}