判断素数是对了,但是只判断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编辑过]