X 我知道了TIPS:左右滑动导航栏可以查看更多栏目
#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)是什么意思?
固定链接: https://www.vcgood.com/archives/1775
声明: awfnui 2007年08月12日 发表于 C语言帝国
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);
}
你必须先 登录才能发表评论。
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);
}