if m 为质素,那么m可以表示为a*b;其中ab分别为1和m。
同样合数也可以表示为a*b的形式,那么ab为m的因子,并且(a,b)<m/2;
所以我第一次在2到m/2中找判断是否为素数。
1 #include<stdio.h> 2 void main() 3 { 4 int m,i; 5 for(m=2;m<=100;m++) //1不为素数 6 { 7 for(i=2;i<=m/2;i++) //从2余到这个数的一半 8 { 9 if(m%i==0) break; //丢掉合数 10 } 11 if(i>m/2) printf("%4d",m); 12 } 13 printf("\n"); 14 }
原文:https://www.cnblogs.com/BK-yushen/p/11962513.html