
C语言中判断素数中if(i==j)是什么意思?
voidjsvalue(intm,intk,intxx[]){inti,j,s=0;for(i=m+1;k>0;i++){for(j=2;j<i;j++)if(i%j==...
void jsvalue(int m,int k,int xx[])
{
int i,j,s=0;
for(i=m+1;k>0;i++)
{for(j=2;j<i;j++)
if(i%j==0) break;
if(i==j)
{xx[s++]=i;k--;}
}
}
其中if(i==j)是什么意思?
条件中不是i>j,怎么可能还等于? 这句有必要吗? 展开
{
int i,j,s=0;
for(i=m+1;k>0;i++)
{for(j=2;j<i;j++)
if(i%j==0) break;
if(i==j)
{xx[s++]=i;k--;}
}
}
其中if(i==j)是什么意思?
条件中不是i>j,怎么可能还等于? 这句有必要吗? 展开
5个回答
展开全部
是这样的,for(j=2;j<i;j++)这个循环,如果一直没有i%j==0这个条件成立,那么只有当j==i的时候,才会跳出。这时候就意味着这是一个素数。
展开全部
是i等yu就,这个是有必要的。你看for(j=2,j<i;j++) j<i 是在j++之前的,如果j=3,i=4,j<i,但是j++以后,j就是4了,i=j=4.所以需要判断if(i==j)
。
。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
就是如果j赋值给i
就相当于等于
就相当于等于
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
有必要啊,
for(j=2;j<i;j++)
if(i%j==0) break;
相当于
for(j=2;j<i;j++)
{
if(i%j==0) break;
}
所以if(i==j)
{xx[s++]=i;k--;}
还是有作用的
for(j=2;j<i;j++)
if(i%j==0) break;
相当于
for(j=2;j<i;j++)
{
if(i%j==0) break;
}
所以if(i==j)
{xx[s++]=i;k--;}
还是有作用的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
就是等于
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询