题目内容:
相差为2的两个素数称为孪生素数。例如,3与5,41与43等都是孪生素数。设计程序求出指定区间上的所有孪生素数对。区间上限和下限由键盘获取。
程序运行示例如下:
please input c,d(c>2):
10,200↙
(11,13)
(17,19)
(29,31)
(41,43)
(59,61)
(71,73)
(101,103)
(107,109)
(137,139)
(149,151)
(179,181)
(191,193)
(197,199)
total=13
区间上限和下限的输入提示信息:"please input c,d(c>2):\n"
输入格式:
区间上限和下限的输入格式: "%ld,%ld"
输出格式:
孪生素数的输出格式:"(%ld,%ld)\n"
所有孪生素数对的总数输出格式: "total=%d\n"
为避免出现格式错误,请直接拷贝粘贴题目中给的格式字符串和提示信息到你的程序中。
#include <stdio.h>
#include <math.h>
int isPrime(int n)
{
int i;
for(i=2; i<=sqrt(n); i++)
{
if(n%i==0)
return 0;
}
return 1;
}
int main()
{
int count=0;
long i, c, d, j=0;
printf ("please input c,d(c>2):\n");
scanf ("%ld,%ld", &c, &d);
for(i=c;i<=d;i++)
{
if(isPrime(i)==1)
{
if(i-j==2)
{
printf("(%ld,%ld)\n",j,i);
count++;
}
j=i;
}
}
printf("total=%d\n", count);
return 0;
}