什么是素数算法

素数即只能被1和其本身整除的数,算法判断n是否为素数只需用2~n/2之间的数去除就可以了。因为一个数的一半的平方大于其本身是从5开始的,解方程:n/2的平方>n 。即一个数n的两个因数不能同时比n/2大。就可以说一个数若不是素数则一定在2~n/2之间有因数。而且2,3也是符合下面程序的。

素数(又称质数):就是除了1和它本身,没有其他因子的整数。注:1不是素数。

C语言代码算法:
#include <stdio.h>
main(){
int i,j,k=0;
for(i=2;i<=1000;i++)
{
for(j=2;j<=i/2;j++)
if(i%j==0)break;
if(j>i/2)
{printf( %d ,i);}
}
}
应当是素数判定算法,也即判断一个数是不是素数。
常见的算法有:
1,暴力法,用2~sqrt(n)之间的所有整数依次试除n,这种方法时间开销很大。
2,筛法。这种方法空间开销很大。
3,Rabin-Miller算法,这种方法在一定情况下会误判。
4,AKS 算法,多项式时间内判定
素数算法是素数判定算法,也即判断一个数是不是素数。

质数(prime number)又称素数,有无限个。一个大于1的自然数,除了1和它本身外,不能被其他自然数(质数)整除,换句话说就是该数除了1和它本身以外不再有其他的因数;否则称为合数。
根据算术基本定理,每一个比1大的整数,要么本身是一个质数,要么可以写成一系列质数的乘积;而且如果不考虑这些质数在乘积中的顺序,那么写出来的形式是唯一的。最小的质数是2。