C 语言实例-判断素数

质数(prime number)又称素数,有无限个。质数定义为在大于1的自然数中,除了1和它本身以外不再有其他因数,这样的数称为质数。

实例

#include <stdio.h>

int main()

{

int n, i, flag = 0;

printf("输入一个正整数: ");

scanf("%d",&n);

for(i=2; i<=n/2; ++i)

{

// 符合该条件不是素数

if(n%i==0)

{

flag=1;

break;

}

}

if (flag==0)

printf("%d 是素数",n);

else

printf("%d 不是素数",n);

return 0;

}

运行结果:

输入一个正整数: 29
29 是素数

实例 - 判断两个数之间的素数

#include <stdio.h>

int main()

{

int low, high, i, flag;

printf("输入两个整数: ");

scanf("%d %d", &low, &high);

printf("%d 与 %d 之间的素数为: ", low, high);

while (low < high)

{

flag = 0;

for(i = 2; i <= low/2; ++i)

{

if(low % i == 0)

{

flag = 1;

break;

}

}

if (flag == 0)

printf("%d ", low);

++low;

}

return 0;

}

运行结果:

输入两个整数: 100 200
100 与 200 之间的素数为: 101 103 107 109 113 127 131 137 139 149 151 157 163 167 173 179 181 191 193 197 199

实例 - 使用函数判断两数间的素数

#include <stdio.h>

int checkPrimeNumber(int n);

int main()

{

int n1, n2, i, flag;

printf("输入两个正整数: ");

scanf("%d %d", &n1, &n2);

printf("%d 和 %d 间的素数为: ", n1, n2);

for(i=n1+1; i<n2; ++i)

{

// 判断是否为素数

flag = checkPrimeNumber(i);

if(flag == 1)

printf("%d ",i);

}

return 0;

}

// 函数定义

int checkPrimeNumber(int n)

{

int j, flag = 1;

for(j=2; j <= n/2; ++j)

{

if (n%j == 0)

{

flag =0;

break;

}

}

return flag;

}

输出结果为:

输入两个正整数: 10 30
10 和 30 间的素数为: 11 13 17 19 23 29
举报
评论 0