这个循环让我有点不明白

函数定义的那个循环看不懂

img

最大循环次数为x开根号的值,然后x与每个j取模,如有有一个取模等于0就结束循环。

当j>sqrt(x)时说明j是质数跳出循环 ,x%j==0说明x不是质数 跳出循环写成for形式

for(j=2;j<=sqrt(x);j++){
    if(x%j==0) break;//不是质数 
}//j>sqrt(x)自动跳出循环 此时说明是质数 


跳出循环后会进if判断