作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我希望以下代码仅打印该数字的最大质因数。正如你所看到的,我的 println
位于 while 循环中,并打印出 2 和 3。有人请告诉我如何在其中插入 println
该代码仅打印出最大的质因数,而不是两者。无论我在代码中的其他哪个位置插入 println
,我都会得到 2 和 3,或者如果在 while 循环之外,我会得到 4,我明白为什么是 4,但意识到 4 是不正确的。如果无法做到这一点,我将不会使用 do while
循环。谢谢。
public class Main {
public static void main(String[] args) {
//Using a do while loop to determine the largest prime factor of a number
//and only wanting to print out the largest prime factor.
int i = 2;
int number = 36;
int largestPrimeFactor = 0;
for (i = 2; i <= number; i++) {
if (number % i == 0) {
largestPrimeFactor = i;
}
do {
number /= i;
} while (number % i == 0);
System.out.println(i + " is the largest prime factor");
}
}
}
最佳答案
number % i == 0
为false
,则继续
for
循环。largestPrimeFactor
,而不是i
。for
循环之外。按如下方式进行:
public class Main {
public static void main(String[] args) {
int number = 39, largestPrimeFactor = 0;
for (int i = 2; i <= number; i++) {
if (number % i == 0) {
largestPrimeFactor = i;
} else {
continue;
}
do {
number /= i;
} while (number % i == 0);
}
System.out.println(largestPrimeFactor + " is the largest prime factor");
}
}
输出:
13 is the largest prime factor
关于java - 需要在 do while 循环中打印出最大素因数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61294091/
我是一名优秀的程序员,十分优秀!