最终要的是,求质数就要用到这个while,非常实用。一个数的因子就从2开始一直往下除就可以了。
while(num%i == 0){
System.out.print(i+ " ");
num /=i;
这样就是把num一下一下地从2开始往下除,除干净为止。
import java.util.*;
public class Main{
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
long n = scan.nextLong();
double k = Math.sqrt(n);
for(int i = 2; i<k+1; i++){
while(n%i == 0){
System.out.print(i+" ");
n /= i;
}
}
System.out.println(n==1 ? "":n);
}
}