Sunnnnn_y 2021-11-06 15:22 采纳率: 100%
浏览 160
已结题

任何一个大于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

  • 写回答

1条回答 默认 最新

  • qzjhjxj 2021-11-06 17:44
    关注

    供参考:

    #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;
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 11月14日
  • 已采纳回答 11月6日
  • 创建了问题 11月6日