第8章 不可解问题——不可解的数、无法编写的程序
反证法(归谬法):假设“命题的否定形式”成立 -> 根据假设进行论证,推导出矛盾的结果。
思考题:为什么不存在“最大的整数”、质数是无穷的
可数(countable):集合的元素是有限的,或者集合中的所有元素都与正整数一一对应。
元素可按一定规律既无“遗漏”也无“重复”地数出来。
可数集合的例子:
有限集合是可数的;
0以上的所有偶数的集合是可数的;
所有整数的集合是可数的;
所有有理数(整数/1以上的整数)的集合是可数的;
程序的集合是可数的。
存在不可数集合,不可数集合是元素不能与1以上的整数一一对应的集合。
对角论证法(康托尔<Georg Cantor,1845-1918> 提出)
所有整数数列(无穷个整数的排列)的集合是不可数的;
所有实数的集合是不可数的;
所有函数的集合也是不可数的。
不可解问题:原则上不能用程序来解决的问题。
停机问题(Halting Problem):判断“某程序在给定数据下,是否会在有限时间内结束运行”的问题。
判断程序是否停机的HaltChecker,绝对是任何人都无法写出来的。
图灵(Alan Turing 1912-1954)在1936年证明了停机问题。
费马大定理(Fermat's last theorem):
当整数n>2时,关于x,y,z的不定方程 x的n次方+y的n次方=z的n次方 无正整数解。
哥德巴赫猜想:任一大于3的偶数都可写成2个质数之和。
相关推荐
[12]优秀程序员之路——C++开发经验及技巧大汇总.zip上位机开发VC串口学习资料源码下载[12]优秀程序员之路——C++开发经验及技巧大汇总.zip上位机开发VC串口学习资料源码下载[12]优秀程序员之路——C++开发经验及...
C~C++程序员实用大全——C~C++最佳编程指南.pdf(3)
程序员之路——一个老程序员对刚上大学的学弟学妹的忠告.
C~C++程序员实用大全——C~C++最佳编程指南
C~C++程序员实用大全——C~C++最佳编程指南
C~C++程序员实用大全——C~C++最佳编程指南
《程序员面试宝典——经典》是一本专门为准备进入IT行业或者寻求职业晋升的程序员量身打造的面试指南。这本书深入浅出地解析了面试中常见的技术问题和面试技巧,旨在帮助读者更好地理解和应对面试挑战。以下是一些...
C~C++程序员实用大全——C~C++最佳编程指南.part5
"程序员实用算法——sourceCode"这个主题涵盖了各种在实际开发中经常遇到的算法,通过源代码的形式来展示这些算法的实现。下面将详细介绍一些重要的算法类型及其应用。 1. 排序算法:包括快速排序、归并排序、冒泡...
C~C++程序员实用大全——C~C++最佳编程指南.part6.rar
《C~C++程序员实用大全——C~C++最佳编程指南》是一本为C和C++程序员量身定制的综合教程,旨在提供全面且深入的编程指导。这本书涵盖了从基础知识到高级特性的全面内容,是提升C/C++编程技能的理想资源。 首先,书...
程序员小飞解密——纯新手的我,到底该把宝押在python2还是python3??
《C~C++程序员实用大全——C~C++最佳编程指南》是一本为C和C++程序员量身定制的综合教程,旨在提供全面且深入的编程指导。这本书涵盖了C和C++的基础到高级主题,是提升技能和深入理解这两种语言精髓的重要资源。 ...
5.5 对多个键进行排序——不稳定排序的修正方法 5.6 网络排序 5.7 小结:选择一种排序算法 5.8 资源和参考资料 第6章 树 6.1 二叉树 6.1.1 树查找 6.1.2 节点插入 6.1.3 节点删除 6.1.4...
在这个“优秀程序员之路——ASP.NET开发经验及技巧大汇总”中,我们将深入探讨ASP.NET的核心概念、开发实践以及各种实用技巧,帮助你提升编程技能,成为一名出色的开发者。 首先,ASP.NET的基础知识是必不可少的。...
《程序员数学3》是一本专为程序员设计的数学学习书籍,其主要目的是帮助读者理解并应用数学在实际编程中的重要性。这本书强调易懂性,通过简洁明了的讲解方式,使得复杂的数学概念变得平易近人。尤其适合那些希望...
"C~C++程序员实用大全——C~C++最佳编程指南"是一部全面覆盖这两种语言的参考资料,旨在帮助程序员提升技能,理解语言的核心概念,并掌握实际编程中的最佳实践。 C语言作为基础,它以其简洁、高效和对硬件的直接...