给定—个正整数,编写程序计算有多少对质数的和等于输入的这个正整数,并输出结果。输入值小于1000。如,输入为10,程序应该输出结果为2。(共有两对质数的和为10分别为(5,5)(3,7))
输入描述:输入包括一个整数n,(3≤n<1000)
输出描述:输出对数
输入例子:10
输出例子:2
主要思路,:将 key - 减数 = 差,从1到key的1 / 2值时, 判断减数和差是否是质数, 是则对数加一。
#include<stdio.h>
bool fun(int i)
{
for (int j = 2; j < i; j++)
{
if (i % j == 0) return false;
}
return true;
}
int main()
{
int m, k = 0;
printf("请输入一个取值为0到1000的正整数\n");
scanf_s("%d", &m);
for (int i = 1; i <= m / 2; i++)
{
if (fun(i) && fun(m - i) )
k = k + 1;
}
printf("%d\n", k);
}