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

2025-09-30 01:18:05

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语言编写,哥德巴赫猜想

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢