任何一个大于6的偶数均可表示为2个素数之和。例如6=3 3,8=3 5,…,18=5 13。将6~100之间的偶数都表示成2个素数之和,打印时一行打印5组。素数就是只能被1和自身整除的正整数,最小的素数是2。要求定义并调用函数prime(m)判断m是否为素数,当m为素数时返回1,否则返回0。
供参考:
#include<stdio.h>
int isPrime(int n)
{
int i;
if(n<=3) return n>1;
for(i=2;i*i<=n;i++)
if(n%i == 0) return 0;
return 1;
}
int main()
{
int i,n,flg=0;
for(n = 6; n <= 100; n+=2)
{
for(i = 2; i <= n/2; i++){
if(isPrime(i) && isPrime(n-i)){
if(flg==0)
printf("%3d=%2d+%2d",n,i,n-i);
else if(flg%5==0)
printf("\n%3d=%2d+%2d",n,i,n-i);
else
printf(" %3d=%2d+%2d",n,i,n-i);
flg++;
break;
}
}
}
return 0;
}