求助,这个代码最后为什么输出的k不会成为n-1呢?
分解质因数的网上找的代码,最后一个输出不懂,可以解释下吗?比如输入50,k不是会一直加吗那,最后一个为什么能输出的是5?
import java.util.*;
public class fenjie {
public static void main(String[]args) {
Scanner sc=new Scanner(System.in);
System.out.println("输入一个数字");
int n=sc.nextInt();
int k=2;
System.out.println(n+"分解质因数后的结果为:"+n+"=");
while(n>k) {
if(n%k==0) {
System.out.println(k+"*");
n=n/k;}
if(n%k!=0) {
k++;}
}
System.out.print(k);
}
}