任何一个大于6的偶数均可表示为2个素数之和。将6~100之间的偶数都表示成2个素数之和,打印时一行打印5组。要求定义并调用函数prime(m)判断m是否为素数,当m为素数时返回1,否则返回0。

任何一个大于6的偶数均可表示为2个素数之和。例如6=3 3,8=3 5,…,18=5 13。将6~100之间的偶数都表示成2个素数之和,打印时一行打印5组。素数就是只能被1和自身整除的正整数,最小的素数是2。要求定义并调用函数prime(m)判断m是否为素数,当m为素数时返回1,否则返回0。

img

供参考:

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