质数又称素数。指在一个大于1的自然数中,除了1和此整数自身外,没法被其他自然数整除的数。换句话说,只有两个正因数(1和自己)的自然数即为素数。
接下来我们来求解C语言中的素数的问题
程序分析:判断素数的方法:用一个数分别去除2到这个数的一半(这个数/2),如果能被整除,
则表明此数不是素数,反之是素数。
如下图的源代码
#include<stdio.h>
#include<Windows.h>
#include<math.h>
int main()
{
int low, high, i, flag; //定义初始变量
scanf("%d%d",&low,&high);
printf("请输入取值范围:");
printf("%d与%d之间的素数为:\n",low,high); //输入求素数的范围
while (low < high) //借用循环的条件使低的数加一逼近比较高的数
{
flag = 0;
for (i = 2; i <= low / 2; ++i) //使用I当因数,将素数排除出来
{
if (low%i == 0) //如果I可以被整除,跳出循环。
{
flag = 1;
break;
}
}
if (flag == 0)
printf("%d\t",low); //如果不能被整除,这个数就是素数
++low;
if(low==10) //每十个素数换行
{
printf("\n");
}
}
getchar();
getchar();
return 0;
}
程序结果示例(以100到300之间的素数为例)