C语言:哥德巴赫猜想

#include <stdio.h>
//哥德巴赫猜想是指任一大于2的偶数都可写成两个素数之和,请输入任何一个大于2的偶数,将其分解为两个素数之和并输出,
//输出格式如下:如输入8,则输出:8=3+5,有多个结果的只输出一个即可,注意1不是素数,故不能输出8=1+7,
//如输入非法则给出提示,本题用自定义函数实现。
int zs(int n)
{
    int a;
    if(n<=1) return 0;
    for(a=2;a<n;a++)
    if(n%a==0) return 0;
    return 1;
}
main()
{
    int a,b,c=0;
    scanf("%d",&a);
    for(b=a-1;b>=2;b--)
    if(zs(b) &&zs(a-b)&&b!=1&&a-b!=1) {c=1;
        printf("%d=%d+%d\n",a,b,a-b);
        break;
    }
    if(c==0) printf("输入非法\n");
    getchar();
 }

 

posted @ 2023-02-11 09:22  myrj  阅读(796)  评论(0编辑  收藏  举报