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--;
}
}
}
}
心得
编写程序时一定要考虑到所有可能发生的问题,有些特别隐秘的问题更要谨慎处理!!!!
点赞