C语言经典算法100例-012-求素数
题目如下:
判断101-200之间有多少个素数,并输出所有素数。
1.分析:关键的问题在于如何判断一个数是否为素数,一个比较好的办法是,如果一个数n能被2到sqrt(n+1)之间的任何一个数整除的话,那么他就不是素数。根据该条件写出源程序。
2.源程序
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
//判断101到200之间有多少素数,并将他们全部输出
int main()
{
int i,j,k,n;
int prime;
n=0;
for(i=100;i<200;i++)
{
prime=1;
k=sqrt(i+1);
for(j=2;j<=k;j++)
{
if(i%j==0)
{ prime=0;
break;
}
}
if(prime)
{
printf("%-4d\n",i);
n++;
}
}
printf("Totally %d numbers!\n",n);
return 0;
}
另外注意的是。%-4d是占4个位置,左对齐。