DESKTOP-7HC873M_20200826-李宗宝

问题

求一个数的所有质因数时,当最后两个因数相同时无法打印最后一个因数

解决办法:在跳出循环的前一句加if判断:若下一次循环除数大于被除数,则直接输出被除数

for (int n = 2; n <= k; n++) {
            if (zhiShu(n)) {
                if (k % n == 0) {
                    if (n == k) {
                        System.out.print(n);
                        break;
                    } 
                        System.out.print(n + "*");
                        k = k / n;
                    if (k <= n) {
                        System.out.println(n);
                    }
                    if (k > n) {
                        n--;
                    }
                }
            }
        }

心得

编写程序时一定要考虑到所有可能发生的问题,有些特别隐秘的问题更要谨慎处理!!!!

标签

© 2021 成都云创动力科技有限公司 蜀ICP备20006351号-1