未调整时while 循环的循环体是 if (i%m==0) break; else m++;调整后while 循环的循环体是 if (i%m==0) break; (else 其实 就是跳到while头部再判断)所以如果 (i%m==0) 不成立的话 又会跳到while头部判断(m<=i)造成了死循环