验证“歌德巴赫猜想”,即:任意一个大于等于6的偶数均可表示成两个素数之和。
有些偶数可以分解成多种素数对的和,如: 10=3+7,10=5+5,即10可以分解成两种不同的素数对。
试求某个大于等于6的偶数可以分解成多少种不同的素数对(注: A+B与B+A认为是相同素数对)
输入格式:
在一行中输入一个正整数,大于等于6(保证输入的数符合题意,读者勿需考虑)
输出格式:
输出答案
输入样例:
在这里给出一组输入。例如:
10
输出样例:
在这里给出相应的输出。例如:
2
PTA
#include<stdio.h>
int prime( int p );
int main()
{
int n,i,j,s=0;
scanf("%d",&n);
for(i=1;i<=n*0.5;i++)
{
//调用函数判断是否是素数
if(prime(i))
{
for(j=1;j<n;j++)
{
if(prime(j))
{
if(i+j==n)
{
s++;
}
}
}
}
}
printf("%d",s);
}
//以下为求素数的函数
int prime( int p ){
if(p < 2)
return 0;
for(int i = 2; i <= p / i; i++)
if(p % i == 0)
return 0;
return 1;
}