#C语言学习#素数是只能被1和自身整除的正整数,试实现一个判断素数的函数,并利用该函数验证哥德巴赫猜想,及任何一个大于6的偶数均可表示为两个奇素数之和。

#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++;
			}
}

猜你喜欢

转载自blog.csdn.net/weixin_41444880/article/details/105827409