输入一组数(一行一个),假定每个都是大于四的偶数,输入结尾是0
输出这个数能有几对素数相加得到,a+b和b+a算一对,
输出每行包括一个整数,
供参考:
#include <stdio.h>
int isPrime(int n)
{
int i;
if (n <= 3) return n > 1;
for (i = 2; i * i <= n; i++)
if (n % i == 0) return 0;
return 1;
}
int main()
{
int i, n, cnt;
while (scanf("%d", &n) == 1 && n != 0) // 输入 0 时,结束输入
{
for (i = 2,cnt = 0; i < n; i++) {
if (isPrime(i) && isPrime(n - i))
{
//printf("%-d=%-d+%-d\n", n, i, n - i);//输出
cnt++;
}
}
printf("%d\n", cnt);
}
return 0;
}