请问大家这是什么意思,如图

img

img


判断质数的为什么还需要i等于j-2/j-1?
如果是j%i等于0不就已经选出来j不是质数吗
为什么还需要那个,(下面凑个字数,123456790028476282992)

i%j==0是用来判断不是质数的
下面是用来判断是质数的
这代码写的又臭又长
其实i*i>j就已经可以了,不用循环那么多遍
正经的写法:

for(i=2;i*i<=n;i++)
    if(n%i==0)break;
if(i*i>n)printf("是质数");
else printf("不是质数");

代码写的一般。没有必要判断等于j-2