判断素数是对了,但是只判断q是不是.哪怕q是素数,p不一定是.
所以写成函数,再调用来同时判断两个数
程序代码:
所以写成函数,再调用来同时判断两个数
程序代码:
#include<stdio.h>
#include<math.h>
int isprime(int n)
{
int i, flag=1;
for (i = 2; i <= sqrt(n); i++)
{
if (n%i == 0)
{
flag = 0;
break;
}
}
return flag == 1 ? 1 : 0;
}
int main()
{
int n, p, q;
while (1 == scanf("%d", &n))
{
for (p = n / 2, q = n / 2; p > 1, q < n; p--, q++)
{
if (isprime(p) == 1 && isprime(q) == 1)
{
printf("%d %d\n", p, q);
break;
}
}
}
return 0;
}[此贴子已经被作者于2015-11-6 19:52编辑过]




