相差为2的两个素数称为孪生素数。例如,3与5,41与43等都是孪生素数。设计程序求出指定区间上的所有孪生素数对。区间上限和下限由键盘获取。 要求:判断一个数是否为素数必须定义函数实现。
提示:在主函数对第一个数穷举,然后+2得到第二个数,再调用函数判断两个是否都是素数。
**输入提示信息:"Please input begin and end(begin>2):"
**输入格式要求:"%ld,%ld"
**输出格式要求:"(%ld,%ld)"
程序运行示例如下:
Please input begin and end(begin>2):10,100
(11,13)(17,19)(29,31)(41,43)(59,61)(71,73)
哎,随便看看,互帮互助嘛
#include <stdio.h>
#include <math.h>
int Prime(int n);//定义函数,判断是否为素数。
int main()
{
long begin, end, i, j;//定义变量
printf("Please input begin and end(begin>2):");
scanf("%ld,%ld", &begin, &end);
for (i = begin; i <= end-2; i++)
{
if (Prime(i)&&Prime(i+2)) //调用Prime()函数,
{
printf("(%ld,%ld)", i, i+2);
}
}
return 0;
}
int Prime(int n)
{
int i;
for ( i = 2; i <= sqrt(n); i++) //若数为素数,则存在一个因数i属于(2,sqrt(n))
{
if (n % i == 0)
{
return 0; //若不是素数,返回0 ;
}
}
return 1;//是素数,返回1;
}