网站首页 美食营养 游戏数码 手工爱好 生活家居 健康养生 运动户外 职场理财 情感交际 母婴教育 生活知识 知识问答

用C语言编写,哥德巴赫猜想

时间:2026-02-14 16:44:35

1、打开visual C++ 6.0-文件-新建-文件-C++ Source File

用C语言编写,哥德巴赫猜想

用C语言编写,哥德巴赫猜想

2、自定义函数:

#include<stdio.h>

int ss(int i)                                                /*自定义函数判断是否为素数*/

{

    int j;

    if (i <= 1)                                          /*小于1的数不是素数*/

        return 0;

    if (i == 2)                                          /*2是素数*/

        return 1;

用C语言编写,哥德巴赫猜想

3、对大于2的数进行判断:

    for (j = 2; j < i; j++)                                  /*对大于2的数进行判断*/

    {

        if (i % j == 0)

            return 0;

        else if (i != j + 1)

            continue;

        else

            return 1;

    }

用C语言编写,哥德巴赫猜想

4、定义变量:

void main()

{

    int i, j, k, flag1, flag2, n = 0;

用C语言编写,哥德巴赫猜想

5、判断拆分出的数是否是素数:

    for (i = 6; i < 100; i += 2)

    for (k = 2; k <= i / 2; k++)

    {

        j = i - k;

        flag1 = ss(k);                                       /*判断拆分出的数是否是素数*/

用C语言编写,哥德巴赫猜想

6、如果拆分出的两个数均是素数则输出:

        if (flag1)

        {

            flag2 = ss(j);

            if (flag2)                                   /*如果拆分出的两个数均是素数则输出*/

            {

                printf("%3d=%3d+%3d,", i, k, j);

                n++;

                if (n % 5 == 0)

                    printf("\n");

            }

       

        }

    }

    printf("\n");

用C语言编写,哥德巴赫猜想

7、完整的源代码:

#include<stdio.h>

int ss(int i)                                                /*自定义函数判断是否为素数*/

{

    int j;

    if (i <= 1)                                          /*小于1的数不是素数*/

        return 0;

    if (i == 2)                                          /*2是素数*/

        return 1;

    for (j = 2; j < i; j++)                                  /*对大于2的数进行判断*/

    {

        if (i % j == 0)

            return 0;

        else if (i != j + 1)

            continue;

        else

            return 1;

    }

}

void main()

{

    int i, j, k, flag1, flag2, n = 0;

    for (i = 6; i < 100; i += 2)

    for (k = 2; k <= i / 2; k++)

    {

        j = i - k;

        flag1 = ss(k);                                       /*判断拆分出的数是否是素数*/

        if (flag1)

        {

            flag2 = ss(j);

            if (flag2)                                   /*如果拆分出的两个数均是素数则输出*/

            {

                printf("%3d=%3d+%3d,", i, k, j);

                n++;

                if (n % 5 == 0)

                    printf("\n");

            }

       

        }

    }

    printf("\n");

}

用C语言编写,哥德巴赫猜想

© 2026 阿力知识库
信息来自网络 所有数据仅供参考
有疑问请联系站长 site.kefu@gmail.com