哥德巴赫猜想
2、哥德巴赫猜想 题目描述
德国数学家哥德巴赫曾猜测:任何大于6的偶数都可以分解成两个素数的和。但有些偶数可以分解成多种素数对的和,如: 10=3+7,10=5+5,即10可以分解成两种不同的素数对。试求输入偶数n可以分解成多少种不同的素数对。(注: A+B与B+A认为是相同素数对)
输入描述
输入大于6的偶数
输出描述
输出个数
样例输入
10
8
6744
我的代码:(我已经找到能加起来=这个数的素数了,可我怎么判断相同的素数组啊,注释掉的不要了)
#include<stdio.h>
int main()
{
int sushu(int n);
int fenjie(int m);
int n;
int k;
scanf("%d",&n);
k=fenjie(n);
printf("%d\12",k);
}
int sushu(int n)
{
int i;
int k;
for(i=2;i<n;i++)
{
if(n%i==0)
break;
}
if(i<n-1)
k=0;
else
k=1;
return (k);
}
int fenjie(int m)
{
int i,j;
int k=0;
int t;
int s,h;
int a[100],b[100];
for(i=1;i<m;i++)
{
for(j=1;j<m;j++)
{
if(j+i==m && sushu(i)==1 && sushu(j)==1)
{
a[k]=i;
b[k]=j;
k++;
}
}
}
/*t=k--;
for(s=0;s<t;s++)
{
for(h=0;h<t;h++)
{
if(a[h]==b[s])
k--;
}
}*/
return (k);
}