#include int find(int n) { int i,temp=n-1,flag=0; for(i=2;i<=temp;i++) { if(n%i==0) { flag=1; break; } } if(flag==0) return n; if(flag==1) return 0; } void main() { int m,s; for(m=2;m<=100;m++) { s=find(m); if(s!=0) printf("%d\n",s);} }
find函数表示判断一个数是否是质数,质数就是除了1和它本身,不能被其他数整除的数。
find的结尾的判断依据flag的值进行,flag表示是否存在其他因数,所以如果flag==1,那就说明这个数不是质数,就返回0,如果flag==0,那说明是质数,返回质数本身。
所以综合起来就是find的返回值,如果是大于0的数,则说明入参n是质数,并且返回值就是n;如果是0,表明入参n不是质数。
main中判断s!=0,表示只打印输出质数,其他非质数,不输出