package Testing;
import java.util.Scanner;
public class test {
public static void main (String[] args){
Scanner scan1 = new Scanner(System.in);
System.out.print("Input positive integer: ");
int n = scan1.nextInt();
for (int i = 2; i < Math.sqrt(n); i++){
if (n % i == 0){
System.out.print(n/i);
}
}
}
}
当我运行此代码时,每当我输入 50 时,它最终都会打印数字 2510。我做错了什么?
最佳答案
正如评论中提到的,您已经非常接近了,但是在找到答案后需要停止迭代。这可以使用 break
关键字来完成,该关键字退出最内层循环。
for (int i = 2; i < Math.sqrt(n); i++){
if (n % i == 0){
System.out.print(n/i);
break;
}
}
关于java - 如何显示输入数字的最大因数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50083502/