C语言经典算法实例5:验证哥德巴赫猜想

  • 一、问题描述
    • 1.1、什么是哥德巴赫猜想
    • 1.2、什么是半素数
    • 1.3、本文的问题描述
  • 二、算法实例编译环境
  • 三、算法实例实现过程
    • 3.1、包含头文件
    • 3.2、声明变量
    • 3.3、输入一个大于 6 的偶数
    • 3.4、对输入的数字进行哥德巴赫猜想的验证
    • 3.5、判断输入的数字是否为素数。
    • 3.6、对输入的数字进行哥德巴赫猜想的判断
    • 3.7、判断数字1-100是否符合哥德巴赫猜想。
  • 四、经典算法实例程序 完整代码
    • 4.1、main.h文件
    • 4.2、main.c文件
  • 五、总结

一、问题描述

1.1、什么是哥德巴赫猜想

哥德巴赫1742年在给欧拉的信中提出了以下猜想:任一大于2的整数都可写成三个质数之和 。但是哥德巴赫自己无法证明它,于是就写信请教赫赫有名的大数学家欧拉帮忙证明,但是一直到死,欧拉也无法证明。 因现今数学界已经不使用“1也是素数”这个约定,原初猜想的现代陈述为:任一大于5的整数都可写成三个质数之和。(n>5:当n为偶数,n=2+(n-2),n-2也是偶数,可以分解为两个质数的和;当n为奇数,n=3+(n-3),n-3也是偶数,可以分解为两个质数的和)欧拉在回信中也提出另一等价版本,即任一大于2的偶数都可写成两个质数之和。今日常见的猜想陈述为欧拉的版本。把命题"任一充分大的偶数都可以表示成为一个素因子个数不超过a个的数与另一个素因子不超过b个的数之和"记作"a+b"。1966年陈景润证明了"1+2"成立,即"任一充分大的偶数都可以表示成二个素数的和,或是一个素数和一个半素数的和"。

1.2、什么是半素数

  • 什么是半素数

两个素数的乘积所得的自然数
若一个自然数可以表示成两个素数乘积的形式,这个自然数就叫做半素数(又名半质数、二次殆素数)。

  • 例如下面的一些数字为半素数。

4,6,9,10,14,15,21,22,25,26,33,34,35,38,39,46,49,51,55,57,58,62,65,69,74,77,82,85,86,87,91,93,94,95,106,111,115,118,119,121,122,123,129,133,134,141,142.

1.3、本文的问题描述

验证哥德巴赫猜想
问题的描述
如下几点所示

  1. 任一充分大的偶数都可以表示成二个素数的和,或是一个素数和一个半素数的和。
  2. 偶数输入的为大于6的偶数。
  3. 对1-100之间的数字进行哥德巴赫猜想的验证。
  4. 程序采用函数模块化的思路。

二、算法实例编译环境

本文C语言经典算法实例的编译环境,使用的是集成开发环境:Visual Studio 2019

Visual Studio 2019官网链接如下

Visual Studio 2019官网链接

Visual Studio 2019集成的开发环境的特点有

  1. Visual Studio 2019默认安装Live Share代码协作服务。
  2. 帮助用户快速编写代码的新欢迎窗口、改进搜索功能、总体性能改进。
  3. Visual Studio IntelliCode AI帮助。
  4. 更好的Python虚拟和Conda支持。
  5. 以及对包括WinForms和WPF在内的.NET Core 3.0项目支持等

三、算法实例实现过程

3.1、包含头文件

包含头文件 代码如下所示

#pragma once// 包含头文件
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <stdbool.h>
  • 将要用到的C语言头文件包含近年来。

3.2、声明变量

声明变量 代码如下所示

int a = 0;
  • 声明了变量a。
  • 作为输入的变量使用。

3.3、输入一个大于 6 的偶数

输入一个大于 6 的偶数 代码如下所示

 printf("输入一个大于 6 的偶数:");scanf("%d", &a);printf("\n");
  • 声明相关变量min, max,row, col, n;

3.4、对输入的数字进行哥德巴赫猜想的验证

  • 对输入的数字进行哥德巴赫猜想的验证采用函数的方式进行编写。

对输入的数字进行哥德巴赫猜想的验证 代码如下所示

  1. 进行哥德巴赫猜想的验证函数的声明。
/// <summary>
/// 对输入的数字进行哥德巴赫猜想的验证
/// </summary>
/// <param name="intNum">输入的数字</param>
/// <returns>blFlag</returns>
static bool ISGDBHArith(int intNum);
  1. 进行哥德巴赫猜想的验证函数的定义。
/// <summary>
/// 对输入的数字进行哥德巴赫猜想的验证
/// </summary>
/// <param name="intNum">输入的数字</param>
/// <returns>blFlag</returns>
static bool ISGDBHArith(int intNum)
{bool blFlag = false;                              // 标识是否符合哥德巴赫猜想 if (intNum % 2 == 0 && intNum > 6)                 // 对要判断的数字进行判断 {for (int i = 1; i <= intNum / 2; i++){bool bl1 = IsPrimeNumber(i);              // 判断i 是否为素数 bool bl2 = IsPrimeNumber(intNum - i);     // 判断 intNum-i 是否为素数 if (bl1 & bl2){//输出等式 printf("%d = %d + %d\n", intNum, i, intNum - i);blFlag = true;// 符合哥德巴赫猜想 }}}return blFlag;                                     // 返回bool 型变量
}
  • 对输入的数字进行哥德巴赫猜想的验证。
  • 函数返回为bool类型的变量:blFlag。

3.5、判断输入的数字是否为素数。

  • 判断输入的数字是否为素数,采用函数的方式编写。

判断输入的数字是否为素数,代码如下所示

  1. 判断输入的数字是否为素数的函数声明。
/// <summary>
/// 判断输入的数字是否为素数。
/// </summary>
/// <param name="intNum">输入的数字</param>
/// <returns>blFlag</returns>
static bool IsPrimeNumber(int intNum);
  1. 判断输入的数字是否为素数的函数定义。
/// <summary>
/// 判断输入的数字是否为素数。
/// </summary>
/// <param name="intNum">输入的数字</param>
/// <returns>blFlag</returns>
static bool IsPrimeNumber(int intNum)
{bool blFlag = true;                           // 标识是否是素数 if (intNum == 1 || intNum == 2)              // 判断输入的数字是否是 1 或者 2 {blFlag = true;                           // 为bool 类型变量赋值 }else{int sqr = (int)(sqrt((double)intNum));   // 对要判断的数字进行开方运算 for (int i = sqr; i >= 2; i--)            // 从开方后的数进行循环 {if (intNum % i == 0)               // 对要判断的数字和指定数字进行求余运算 {blFlag = false;                 // 如果余数为 0,说明不是素数 }}}return blFlag;                              // 返回bool 型变量
}
  • 判断输入的数字是否为素数。
  • 函数返回为bool类型的变量:blFlag。

按F5进行编译,调试结果如下所示。

  • 可以正确的输出我们向数组中输入的数据。

3.6、对输入的数字进行哥德巴赫猜想的判断

对输入的数字进行哥德巴赫猜想的判断 代码如下所示

 if (blFlag){printf("\n%d:能写成两个素数的和,所以其符合哥德巴赫猜想。\n\n", a);}else{printf("\n%d:不能写成两个素数的和,所以其不符合哥德巴赫猜想。\n\n", a);}
  • 如果输入的数字能写成两个素数的和,则符合哥德巴赫猜想。
  • 如果输入的数字不能写成两个素数的和,则不符合哥德巴赫猜想。

按F5进行编译,调试结果如下所示。

3.7、判断数字1-100是否符合哥德巴赫猜想。

  • 判断数字1-100是否符合哥德巴赫猜想采用函数编写的方式。

判断数字1-100是否符合哥德巴赫猜想 代码如下所示。

  1. 判断数字1-100是否符合哥德巴赫猜想的函数声明。
 /// <summary>
/// 判断数字1-100是否符合哥德巴赫猜想。
/// </summary>
void digitJudge();
  1. 判断数字1-100是否符合哥德巴赫猜想的函数定义。
/// <summary>
/// 判断数字1-100是否符合哥德巴赫猜想。
/// </summary>
void digitJudge()
{for (int i = 1; i <= 100; i++){bool blFlag = ISGDBHArith(i);                       // 判断是否符合哥德巴赫猜想 if (blFlag){printf("\n%d:能写成两个素数的和,所以其符合哥德巴赫猜想。\n\n", i);}else{printf("\n%d:不能写成两个素数的和,所以其不符合哥德巴赫猜想。\n\n", i);}printf("\n");}
}
  • 使用for循环的方式。
  • 判断数字1-100是否符合哥德巴赫猜想。

按F5进行编译,调试结果如下所示。

输入一个大于 6 的偶数:2424 = 1 + 23
24 = 5 + 19
24 = 7 + 17
24 = 11 + 1324:能写成两个素数的和,所以其符合哥德巴赫猜想。1:不能写成两个素数的和,所以其不符合哥德巴赫猜想。2:不能写成两个素数的和,所以其不符合哥德巴赫猜想。3:不能写成两个素数的和,所以其不符合哥德巴赫猜想。4:不能写成两个素数的和,所以其不符合哥德巴赫猜想。5:不能写成两个素数的和,所以其不符合哥德巴赫猜想。6:不能写成两个素数的和,所以其不符合哥德巴赫猜想。7:不能写成两个素数的和,所以其不符合哥德巴赫猜想。8 = 1 + 7
8 = 3 + 58:能写成两个素数的和,所以其符合哥德巴赫猜想。9:不能写成两个素数的和,所以其不符合哥德巴赫猜想。10 = 3 + 7
10 = 5 + 510:能写成两个素数的和,所以其符合哥德巴赫猜想。11:不能写成两个素数的和,所以其不符合哥德巴赫猜想。12 = 1 + 11
12 = 5 + 712:能写成两个素数的和,所以其符合哥德巴赫猜想。13:不能写成两个素数的和,所以其不符合哥德巴赫猜想。14 = 1 + 13
14 = 3 + 11
14 = 7 + 714:能写成两个素数的和,所以其符合哥德巴赫猜想。15:不能写成两个素数的和,所以其不符合哥德巴赫猜想。16 = 3 + 13
16 = 5 + 1116:能写成两个素数的和,所以其符合哥德巴赫猜想。17:不能写成两个素数的和,所以其不符合哥德巴赫猜想。18 = 1 + 17
18 = 5 + 13
18 = 7 + 1118:能写成两个素数的和,所以其符合哥德巴赫猜想。19:不能写成两个素数的和,所以其不符合哥德巴赫猜想。20 = 1 + 19
20 = 3 + 17
20 = 7 + 1320:能写成两个素数的和,所以其符合哥德巴赫猜想。21:不能写成两个素数的和,所以其不符合哥德巴赫猜想。22 = 3 + 19
22 = 5 + 17
22 = 11 + 1122:能写成两个素数的和,所以其符合哥德巴赫猜想。23:不能写成两个素数的和,所以其不符合哥德巴赫猜想。24 = 1 + 23
24 = 5 + 19
24 = 7 + 17
24 = 11 + 1324:能写成两个素数的和,所以其符合哥德巴赫猜想。25:不能写成两个素数的和,所以其不符合哥德巴赫猜想。26 = 3 + 23
26 = 7 + 19
26 = 13 + 1326:能写成两个素数的和,所以其符合哥德巴赫猜想。27:不能写成两个素数的和,所以其不符合哥德巴赫猜想。28 = 5 + 23
28 = 11 + 1728:能写成两个素数的和,所以其符合哥德巴赫猜想。29:不能写成两个素数的和,所以其不符合哥德巴赫猜想。30 = 1 + 29
30 = 7 + 23
30 = 11 + 19
30 = 13 + 1730:能写成两个素数的和,所以其符合哥德巴赫猜想。31:不能写成两个素数的和,所以其不符合哥德巴赫猜想。32 = 1 + 31
32 = 3 + 29
32 = 13 + 1932:能写成两个素数的和,所以其符合哥德巴赫猜想。33:不能写成两个素数的和,所以其不符合哥德巴赫猜想。34 = 3 + 31
34 = 5 + 29
34 = 11 + 23
34 = 17 + 1734:能写成两个素数的和,所以其符合哥德巴赫猜想。35:不能写成两个素数的和,所以其不符合哥德巴赫猜想。36 = 5 + 31
36 = 7 + 29
36 = 13 + 23
36 = 17 + 1936:能写成两个素数的和,所以其符合哥德巴赫猜想。37:不能写成两个素数的和,所以其不符合哥德巴赫猜想。38 = 1 + 37
38 = 7 + 31
38 = 19 + 1938:能写成两个素数的和,所以其符合哥德巴赫猜想。39:不能写成两个素数的和,所以其不符合哥德巴赫猜想。40 = 3 + 37
40 = 11 + 29
40 = 17 + 2340:能写成两个素数的和,所以其符合哥德巴赫猜想。41:不能写成两个素数的和,所以其不符合哥德巴赫猜想。42 = 1 + 41
42 = 5 + 37
42 = 11 + 31
42 = 13 + 29
42 = 19 + 2342:能写成两个素数的和,所以其符合哥德巴赫猜想。43:不能写成两个素数的和,所以其不符合哥德巴赫猜想。44 = 1 + 43
44 = 3 + 41
44 = 7 + 37
44 = 13 + 3144:能写成两个素数的和,所以其符合哥德巴赫猜想。45:不能写成两个素数的和,所以其不符合哥德巴赫猜想。46 = 3 + 43
46 = 5 + 41
46 = 17 + 29
46 = 23 + 2346:能写成两个素数的和,所以其符合哥德巴赫猜想。47:不能写成两个素数的和,所以其不符合哥德巴赫猜想。48 = 1 + 47
48 = 5 + 43
48 = 7 + 41
48 = 11 + 37
48 = 17 + 31
48 = 19 + 2948:能写成两个素数的和,所以其符合哥德巴赫猜想。49:不能写成两个素数的和,所以其不符合哥德巴赫猜想。50 = 3 + 47
50 = 7 + 43
50 = 13 + 37
50 = 19 + 3150:能写成两个素数的和,所以其符合哥德巴赫猜想。51:不能写成两个素数的和,所以其不符合哥德巴赫猜想。52 = 5 + 47
52 = 11 + 41
52 = 23 + 2952:能写成两个素数的和,所以其符合哥德巴赫猜想。53:不能写成两个素数的和,所以其不符合哥德巴赫猜想。54 = 1 + 53
54 = 7 + 47
54 = 11 + 43
54 = 13 + 41
54 = 17 + 37
54 = 23 + 3154:能写成两个素数的和,所以其符合哥德巴赫猜想。55:不能写成两个素数的和,所以其不符合哥德巴赫猜想。56 = 3 + 53
56 = 13 + 43
56 = 19 + 3756:能写成两个素数的和,所以其符合哥德巴赫猜想。57:不能写成两个素数的和,所以其不符合哥德巴赫猜想。58 = 5 + 53
58 = 11 + 47
58 = 17 + 41
58 = 29 + 2958:能写成两个素数的和,所以其符合哥德巴赫猜想。59:不能写成两个素数的和,所以其不符合哥德巴赫猜想。60 = 1 + 59
60 = 7 + 53
60 = 13 + 47
60 = 17 + 43
60 = 19 + 41
60 = 23 + 37
60 = 29 + 3160:能写成两个素数的和,所以其符合哥德巴赫猜想。61:不能写成两个素数的和,所以其不符合哥德巴赫猜想。62 = 1 + 61
62 = 3 + 59
62 = 19 + 43
62 = 31 + 3162:能写成两个素数的和,所以其符合哥德巴赫猜想。63:不能写成两个素数的和,所以其不符合哥德巴赫猜想。64 = 3 + 61
64 = 5 + 59
64 = 11 + 53
64 = 17 + 47
64 = 23 + 4164:能写成两个素数的和,所以其符合哥德巴赫猜想。65:不能写成两个素数的和,所以其不符合哥德巴赫猜想。66 = 5 + 61
66 = 7 + 59
66 = 13 + 53
66 = 19 + 47
66 = 23 + 43
66 = 29 + 3766:能写成两个素数的和,所以其符合哥德巴赫猜想。67:不能写成两个素数的和,所以其不符合哥德巴赫猜想。68 = 1 + 67
68 = 7 + 61
68 = 31 + 3768:能写成两个素数的和,所以其符合哥德巴赫猜想。69:不能写成两个素数的和,所以其不符合哥德巴赫猜想。70 = 3 + 67
70 = 11 + 59
70 = 17 + 53
70 = 23 + 47
70 = 29 + 4170:能写成两个素数的和,所以其符合哥德巴赫猜想。71:不能写成两个素数的和,所以其不符合哥德巴赫猜想。72 = 1 + 71
72 = 5 + 67
72 = 11 + 61
72 = 13 + 59
72 = 19 + 53
72 = 29 + 43
72 = 31 + 4172:能写成两个素数的和,所以其符合哥德巴赫猜想。73:不能写成两个素数的和,所以其不符合哥德巴赫猜想。74 = 1 + 73
74 = 3 + 71
74 = 7 + 67
74 = 13 + 61
74 = 31 + 43
74 = 37 + 3774:能写成两个素数的和,所以其符合哥德巴赫猜想。75:不能写成两个素数的和,所以其不符合哥德巴赫猜想。76 = 3 + 73
76 = 5 + 71
76 = 17 + 59
76 = 23 + 53
76 = 29 + 4776:能写成两个素数的和,所以其符合哥德巴赫猜想。77:不能写成两个素数的和,所以其不符合哥德巴赫猜想。78 = 5 + 73
78 = 7 + 71
78 = 11 + 67
78 = 17 + 61
78 = 19 + 59
78 = 31 + 47
78 = 37 + 4178:能写成两个素数的和,所以其符合哥德巴赫猜想。79:不能写成两个素数的和,所以其不符合哥德巴赫猜想。80 = 1 + 79
80 = 7 + 73
80 = 13 + 67
80 = 19 + 61
80 = 37 + 4380:能写成两个素数的和,所以其符合哥德巴赫猜想。81:不能写成两个素数的和,所以其不符合哥德巴赫猜想。82 = 3 + 79
82 = 11 + 71
82 = 23 + 59
82 = 29 + 53
82 = 41 + 4182:能写成两个素数的和,所以其符合哥德巴赫猜想。83:不能写成两个素数的和,所以其不符合哥德巴赫猜想。84 = 1 + 83
84 = 5 + 79
84 = 11 + 73
84 = 13 + 71
84 = 17 + 67
84 = 23 + 61
84 = 31 + 53
84 = 37 + 47
84 = 41 + 4384:能写成两个素数的和,所以其符合哥德巴赫猜想。85:不能写成两个素数的和,所以其不符合哥德巴赫猜想。86 = 3 + 83
86 = 7 + 79
86 = 13 + 73
86 = 19 + 67
86 = 43 + 4386:能写成两个素数的和,所以其符合哥德巴赫猜想。87:不能写成两个素数的和,所以其不符合哥德巴赫猜想。88 = 5 + 83
88 = 17 + 71
88 = 29 + 59
88 = 41 + 4788:能写成两个素数的和,所以其符合哥德巴赫猜想。89:不能写成两个素数的和,所以其不符合哥德巴赫猜想。90 = 1 + 89
90 = 7 + 83
90 = 11 + 79
90 = 17 + 73
90 = 19 + 71
90 = 23 + 67
90 = 29 + 61
90 = 31 + 59
90 = 37 + 53
90 = 43 + 4790:能写成两个素数的和,所以其符合哥德巴赫猜想。91:不能写成两个素数的和,所以其不符合哥德巴赫猜想。92 = 3 + 89
92 = 13 + 79
92 = 19 + 73
92 = 31 + 6192:能写成两个素数的和,所以其符合哥德巴赫猜想。93:不能写成两个素数的和,所以其不符合哥德巴赫猜想。94 = 5 + 89
94 = 11 + 83
94 = 23 + 71
94 = 41 + 53
94 = 47 + 4794:能写成两个素数的和,所以其符合哥德巴赫猜想。95:不能写成两个素数的和,所以其不符合哥德巴赫猜想。96 = 7 + 89
96 = 13 + 83
96 = 17 + 79
96 = 23 + 73
96 = 29 + 67
96 = 37 + 59
96 = 43 + 5396:能写成两个素数的和,所以其符合哥德巴赫猜想。97:不能写成两个素数的和,所以其不符合哥德巴赫猜想。98 = 1 + 97
98 = 19 + 79
98 = 31 + 67
98 = 37 + 6198:能写成两个素数的和,所以其符合哥德巴赫猜想。99:不能写成两个素数的和,所以其不符合哥德巴赫猜想。100 = 3 + 97
100 = 11 + 89
100 = 17 + 83
100 = 29 + 71
100 = 41 + 59
100 = 47 + 53100:能写成两个素数的和,所以其符合哥德巴赫猜想。请按任意键继续. . .

四、经典算法实例程序 完整代码

经典算法实例程序完整代码如下所示

4.1、main.h文件

#pragma once// 包含头文件
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <stdbool.h>/// <summary>
/// 判断数字1-100是否符合哥德巴赫猜想。
/// </summary>
void digitJudge();/// <summary>
/// 对输入的数字进行哥德巴赫猜想的验证
/// </summary>
/// <param name="intNum">输入的数字</param>
/// <returns>blFlag</returns>
static bool ISGDBHArith(int intNum);/// <summary>
/// 判断输入的数字是否为素数。
/// </summary>
/// <param name="intNum">输入的数字</param>
/// <returns>blFlag</returns>
static bool IsPrimeNumber(int intNum);

4.2、main.c文件

#define _CRT_SECURE_NO_WARNINGS#include "Main.h"/// <summary>
/// 主函数
/// </summary>
/// <returns>返回0</returns>
int main()
{system("color 3E");int a = 0;printf("输入一个大于 6 的偶数:");scanf("%d", &a);printf("\n");bool blFlag = ISGDBHArith(a);                      // 判断是否符合哥德巴赫猜想 if (blFlag){printf("\n%d:能写成两个素数的和,所以其符合哥德巴赫猜想。\n\n", a);}else{printf("\n%d:不能写成两个素数的和,所以其不符合哥德巴赫猜想。\n\n", a);}digitJudge();system("pause");return 0;
}/// <summary>
/// 判断数字1-100是否符合哥德巴赫猜想。
/// </summary>
void digitJudge()
{for (int i = 1; i <= 100; i++){bool blFlag = ISGDBHArith(i);                       // 判断是否符合哥德巴赫猜想 if (blFlag){printf("\n%d:能写成两个素数的和,所以其符合哥德巴赫猜想。\n\n", i);}else{printf("\n%d:不能写成两个素数的和,所以其不符合哥德巴赫猜想。\n\n", i);}printf("\n");}
}/// <summary>
/// 对输入的数字进行哥德巴赫猜想的验证
/// </summary>
/// <param name="intNum">输入的数字</param>
/// <returns>blFlag</returns>
static bool ISGDBHArith(int intNum)
{bool blFlag = false;                              // 标识是否符合哥德巴赫猜想 if (intNum % 2 == 0 && intNum > 6)                 // 对要判断的数字进行判断 {for (int i = 1; i <= intNum / 2; i++){bool bl1 = IsPrimeNumber(i);              // 判断i 是否为素数 bool bl2 = IsPrimeNumber(intNum - i);     // 判断 intNum-i 是否为素数 if (bl1 & bl2){//输出等式 printf("%d = %d + %d\n", intNum, i, intNum - i);blFlag = true;// 符合哥德巴赫猜想 }}}return blFlag;                                     // 返回bool 型变量
}/// <summary>
/// 判断输入的数字是否为素数。
/// </summary>
/// <param name="intNum">输入的数字</param>
/// <returns>blFlag</returns>
static bool IsPrimeNumber(int intNum)
{bool blFlag = true;                           // 标识是否是素数 if (intNum == 1 || intNum == 2)              // 判断输入的数字是否是 1 或者 2 {blFlag = true;                           // 为bool 类型变量赋值 }else{int sqr = (int)(sqrt((double)intNum));   // 对要判断的数字进行开方运算 for (int i = sqr; i >= 2; i--)            // 从开方后的数进行循环 {if (intNum % i == 0)               // 对要判断的数字和指定数字进行求余运算 {blFlag = false;                 // 如果余数为 0,说明不是素数 }}}return blFlag;                              // 返回bool 型变量
}

五、总结

本文的C语言经典算法实例:求二维数组最大最小值,要实现的目标如下

  1. 任一充分大的偶数都可以表示成二个素数的和,或是一个素数和一个半素数的和。
  2. 偶数输入的为大于6的偶数。
  3. 对1-100之间的数字进行哥德巴赫猜想的验证。
  4. 程序采用函数模块化的思路。

文到这里就结束啦。
希望本文的C语言经典算法实例:验证哥德巴赫猜想。
能激发你对C语言以及算法学习的热爱。

  • 你的支持是对我最大的鼓励。

C语言经典算法实例5:验证哥德巴赫猜想相关推荐

  1. 【算法】验证哥德巴赫猜想

    问题来源 Timus Online Judge 网站上有这么一道题目:1356. Something Easier.这道题目的输入是一组  2 到 109 之间整数,对于每个输入的整数,要求用最少个数 ...

  2. 猴子偷桃c语言编程软件,c语言经典算法——猴子偷桃问题

    题目:海滩上有一堆桃子,五只猴子来分.第一只猴子把这堆桃子凭据分为五份,多了一个,这只猴子把多的一个扔入海中,拿走了一份.第二只猴子把剩下的桃子又平均分成五份,又多了一个,它同样把多的一个扔入海中,拿 ...

  3. C语言经典算法 21-30

    目录 21 一个有序的数组插入一个数 22 将一个数组逆序输出 23 报号 求最后是谁 24 写一个统计字符串长度的函数 25 八进制转换为十进制 26 判断一个素数能被几个 9 整除 27 输入一组 ...

  4. C语言经典算法 11-20

    C语言经典算法 11-20 十一.求最大公约数和最小公倍数 十二.统计字符串数字,字母,符号的各个数量 十三.2+22+222+..... 十四.完数 十五.小球反弹问题 十六.猴子吃桃问题 十七.求 ...

  5. C语言经典算法 1-10

    目录 一.排列组合题 二.区间题 三.判断平方数相关 四.给你一个年月日判断是第几天 五.将3个数由小到大排序 六.九九乘法表 七.兔子繁殖数列 八.判断素数 九.水仙花数 十.因数分解 一.排列组合 ...

  6. c语言经典算法大全pdf,c语言经典算法100例pdf版.pdf

    c语言经典算法100例pdf版 C 语言经典算法 100 例 C 语言编程经典 100 例 A:[程序1] 题目:有1.2.3.4 个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? 1.程 ...

  7. 老鼠走迷宫php算法,C语言经典算法 - 老鼠走迷官(一)

    C语言经典算法 - 老鼠走迷官(一) 说明老鼠走迷宫是递回求解的基本题型,我们在二维阵列中使用2表示迷宫墙壁,使用1来表 示老鼠的行走路径,试以程式求出由入口至出口的路径. 解法老鼠的走法有上.左.下 ...

  8. c语言编程经典实例利润,C语言经典编程实例100题解答

    C语言经典编程实例100题 答案+答案 C语言经典编程实例100题C语言程序实例100个(一) [程序1] 题目:有1.2.3.4个数字,能组成多少个互不相同且无重复数字的三位数,都是多少, 1.程序 ...

  9. (C语言)验证哥德巴赫猜想,输入一个大于6的偶数,输出这个数能被分解为哪两个质数的和

    (C语言)验证哥德巴赫猜想,输入一个大于6的偶数,输出这个数能被分解为哪两个质数的和,如10=3+7,12+5+7. // 质数:除了1和自身,不能被任何数整除的数 #include<stdio ...

  10. 棋盘算法c语言程序,C语言经典算法 - 骑士走棋盘

    搜索热词 @H_301_0@下面是编程之家 jb51.cc 通过网络收集整理的代码片段.@H_301_0@编程之家小编现在分享给大家,也给大家做个参考. 说明骑士旅游(Knight tour)在十八世 ...

最新文章

  1. 如果神经网络规模足够大,会产生智能吗?
  2. 网络工具中的瑞士军刀——netcat工具简介
  3. 给新手项目经理的12条建议
  4. 二分查找法的实现和应用汇总
  5. Node 即学即用 笔记 思维导图
  6. linuxc线程信号-pthread_cond_wait理解
  7. 结构型设计模式在公司项目中的运用实践
  8. RN通信机制和渲染流程
  9. 多功能笔记工具Notability创建甜甜圈图案的趣味教程
  10. 电商数据抓取是什么意思?有什么作用?
  11. U盘安装WIN10移动系统
  12. 华为云文字识别服务关键技术、能力和产品落地需要注意的事宜(OCR系列二)
  13. 收货了!2019年为你精选的十款最佳外置硬盘
  14. con和com开头单词规律_日语单词靠死记硬背?那你需要看看这篇文章了
  15. 三星6818基于uboot的流水灯程序
  16. 高登数学,线性代数问题的数值解(SciPy第三方库,近似解)
  17. 英语口语html5源码,5篇英语经典美文赏析,可以当口语练习素材哦
  18. 被微软收购两年后,GitHub 怎么样了?
  19. 2020-11-25-springboot-打开web日志
  20. 和平精英电脑版服务器未响应,和平精英电脑版为什么卡顿 电脑版卡顿解决方法...

热门文章

  1. 一些不错的酷站欣赏的网站
  2. 基于VC++的MFC类库实现的简单FTP客户端
  3. N阶行列式计算(JAVA)
  4. 《吴军.科技史纲60讲》摘录
  5. 消息推送实现方法、移动终端及消息推送系统
  6. RHEL7学习笔记6:系统启动过程
  7. 恢复服务器误删文件,云服务器误删文件恢复
  8. 苹果开发者申请-创建证书签名请求
  9. 即时通讯软件:(c++实现)
  10. 计算机开机跳过硬盘检查,怎样取消电脑开机磁盘自检 关闭硬盘自检方法全析...