#include<stdio.h>
void main()
{
int n,i;
for(n=2;n<=100;n++)
{
for(i=2;i<n;i++)
if(n%i==0) break;
if(i>=n)
printf(“%d\t”,n);
}
}
上面的if(i>=n)是什么意思?
>> 本文固定链接: http://www.vcgood.com/archives/1775
#include<stdio.h>
void main()
{
int n,i;
for(n=2;n<=100;n++)
{
for(i=2;i<n;i++)
if(n%i==0) break;
if(i>=n)
printf(“%d\t”,n);
}
}
上面的if(i>=n)是什么意思?
>> 本文固定链接: http://www.vcgood.com/archives/1775
你必须先 登录才能发表评论。
if( i >= n ) 和if( i == n )效果一样。如果比较成功了则表示i = 2 ~ n之间没有整除的情况!找2 – 100之间的素数。
多谢
xstar
论坛版主
这应该是一个求一个数是否为素数的函数,当该数不是素数时,i 最后就是n了
其实完全不有从2检查到(n-1),只要检查到(将N开方)就可以了.
int n,i,flag=1;
for(n=2;n<=100;n++)
{ for(i=2;i<=sqrt(n);i++)
if(n%i==0){flag=0;break;}
if(flag) printf(“%d\t”,n);
}