为了账号安全,请及时绑定邮箱和手机立即绑定

getLargePrime Java 循环

getLargePrime Java 循环

慕桂英546537 2022-10-20 17:01:17
下面的代码如果数字是 90,我不明白为什么“i”不会是 90 或 10 也不是 3,而是停在 5。提前感谢您的帮助。public class LargestPrime {    public static int getLargestPrime(int number) {        if (number <= 1)             return -1;        for (int i = number ; i > 1; i--) {            if (number % i == 0) {                number = i;                System.out.println(" i= " + i + "  number= " + number);            }        }        return number;    }}
查看完整描述

1 回答

?
BIG阳

TA贡献1859条经验 获得超6个赞

发生这种情况是因为此时i= 45  number= 45一切正常,我们减少i到 15,然后 45 % 15 再次正常工作number % i == 0,数字变为 15,但在此之后,你的i = 14, 13, 12 ...它不起作用,因为15 % 14, 13, 12...!= 0。只有当i变成 5 时它才能再次起作用, 因为15(数字) % 5(i) == 0. 之后,程序停止给出numbers,i因为数字变为 5,而 i 从 4 变为 1。所以 5 % 4, 3, 2, 1 != 0。



查看完整回答
反对 回复 2022-10-20
  • 1 回答
  • 0 关注
  • 80 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信