习题6-5 使用函数验证哥德巴赫猜想(C语言实现)
#include <stdio.h>
#include <math.h>
int prime( int p );
void Goldbach( int n );
int main()
{
int m, n, i, cnt;
scanf("%d %d", &m, &n);
if ( prime(m) != 0 ) printf("%d is a prime number\n", m);
if ( m < 6 ) m = 6;
if ( m%2 ) m++;
cnt = 0;
for( i=m; i<=n; i+=2 ) {
Goldbach(i);
cnt++;
if ( cnt%5 ) printf(", ");
else printf("\n");
}
return 0;
}
/* 你的代码将被嵌在这里 */
int prime( int p )
{
int i;
if(p<2)
return 0;
if(p == 2)
return 1;
if(p%2 == 0)
return 0;
for(i=3; i*i<=p; i++)
if(p%i == 0)
return 0;
return 1;
}
void Goldbach( int n )
{
int i;
if(n%2 == 0)//偶数
{
for(i=3; i<n; i+=2)
if(prime(i) && prime(n-i))
{
printf("%d=%d+%d",n,i,n-i);
break;
}
}
}
更多推荐
使用函数验证哥德巴赫猜想(C语言实现)
发布评论