质数:是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数。
#include<stdio.h>
int prime(int n){
int i;
for(i=2;i<=n-1;i++)
if(n%i==0)
break;
return (i>n-1); //判断if循环是否是break打断
}
void main(){
int i;
for(i=100;i<=1000;i++) //计算从100到1000之间的素数并输出
if(prime(i))
printf("%d ",i);
printf("\n");
}
程序调整:
极大加快运行速度
将prime函数中if循环条件改为i<=n的平方根
#include<stdio.h>
#include<math.h>
int prime(int n){
int i,k;
k=(int)sqrt((double)n); //k存储n的平方根值,并强制int型
for(i=2;i<=k;i++)
if(n%i==0)
break;
return (i>k);
}
void main(){
int i;
for(i=2;i<=1000;i++) //计算从100到1000之间的素数并输出
if(prime(i))
printf("%d ",i);
printf("\n");
}