1、试除法
试除法就是把每一个数都拿它之前的所有数来除一遍,如果出现余数为0,则证明不是素数。
例如:要验证99是否为素数,就拿1-98来给99除。当除到3时发现余数是0,所以99不是素数
代码如下:
//素数 int main() { int i,j=0; for(i=2;i<=100;i++)//这里可以直接+=2,因为偶数不可能是素数 { for(j=2;j<=i;j++) { if(i%j==0) break; } if(i==j) printf("%d ",i); } return 0; }
2、试除开平方法
一个非素数可以拆成两个数相乘,这两个数的其中一个一定小子等于这个非素数的开平方 例如:20可以拆成4x5,4是小子等于根号20的。
如果出现了这两个数有其中一个大子该数的开平方,证明该数是素数
例如:19只能拆成1和19,19是大于根号19的。
代码如下:
//素数 int main() { int i,j=0; for(i=2;i<=100;i++) { for(j=2;j<=i;j++) { if(i%j==0) break; } if(j>sqrt(i)&&i!=1) printf("%d ",i); } return 0; }