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个位置,左对齐。

posted @ 2014-03-02 21:27  庄浩  阅读(245)  评论(0编辑  收藏  举报