2007
08-12

#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)是什么意思?


新手问题》有 3 条评论

  1. xstar 说:

    if( i >= n ) 和if( i == n )效果一样。如果比较成功了则表示i = 2 ~ n之间没有整除的情况!找2 – 100之间的素数。

  2. awfnui 说:

    多谢

    xstar
    论坛版主

  3. shanying 说:

    这应该是一个求一个数是否为素数的函数,当该数不是素数时,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);

     }

留下一个回复