描述:将4-100中的偶数分解成两个素数之和,每个数只取一种分解结果吗,如98可以分解为19和79,或为31和67,或为37和61,但我们只取第一种分解即可。
#include <stdio.h>
//判断给定值是否为素数
int sushu(int n)
{
int x;
for( x=2; x<=(n/2); x++ )
{
if( n % x == 0 )
return 0;
}
return 1;
}
int main()
{
int i, a, b;
for(i = 4; i <= 100; i += 2)
{
for(a = 2; a <= (i/2); a++) //先将偶数 i 分解成两数之和
{
b = i - a;
//再测试分解后的两数是否同时为素数,若是,输出之
if( sushu( a ) && sushu( b ) )
{
printf( "%d = %d + %d\n", i, a, b );
break;
}
}
}
return 0;
}