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

  • C语言的switch怎样使用?
  • C语言的continue怎样使用?
  • C语言中怎么表示x的n次方?
  • C语言如何计算数组的元素个数?
  • 求一阶非齐次线性微分方程的通解的应用举例
  • 热门搜索
    复印机怎么用 谑怎么读 牛排骨的做法 红烧茄子最简单的做法 锅包肉的做法 牛肉饼的做法 土豆块的做法大全 红烧鳝鱼的做法 肉饼的做法 香干的做法