#C语言学习#素数是只能被1和自身整除的正整数,试实现一个判断素数的函数,并利用该函数验证哥德巴赫猜想,及任何一个大于6的偶数均可表示为两个奇素数之和。
在这里插入代码片#include<stdio.h>
#include<math.h>
int prime( int p );
void Goldbach( int n );
int main()
{
int m;
printf("输入任意一个大于6的偶数:\n");
scanf("%d",&m);
Goldbach(m);
}
int prime( int p )
{
int i ;
if(p<=1){
return 0;}
else if (p==2){
return 1;}
else{
for(i=2;i<=p/2;i++){
if(p%i==0){
return 0;
} else if(i>p/2){
return 1;
}
}
}
return 1;
}
void Goldbach( int n )
{
int a;
int count=0;
for(a=2;a<=n;a++)
if(prime(a)==1&&prime(n-a)==1)
{
printf("%d=%d+%d",n,a,n-a);
printf("\n");
count++;
}
}