首先,素数的定义: 素数:又称质数。质数是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数。
其中1既不是素数又不是合数,所以后面,我们直接排除掉1
100以内的素数: 2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97
1.上代码(为什么要把条件设为n/2,是因为,一个数一定不能被大于自己一半的数给整除,为了减少计算次数,因此这样做)
#include<stdio.h>
int sushu(int n)
{
int i;
for (i = 2; i <= n / 2; i++)
if (n % i == 0)//如果能够被整除,就不是素数,
//返回0
return 0;
else
if (n /2 == i)//不能被整除,并且当判断到最后一个时
//i一定是等于n/2的,返回1
return 1;
}
int main()
{
int n,t=0;
int sushu (n);
printf("100以内的素数为: ");
for (n=2;n<=100;n++)
{
if (sushu(n) == 1)
{
printf("%d ", n);
t++;
}
}
printf(" \n个数为%d",t);
return 0;
}
2.结果