第三十三章 非空子集


小说:编程之战   作者:程序小猿   类别:未来世界   加入书签   【章节错误/点此举报】   【更新慢了/点此举报
推荐阅读: 永恒剑主 | 星光灿烂 | 巨星夫妻 | 弑天刃 | 九重神格 | 超警美利坚 | 步步惊唐 | 绝世天君 | 都市幻界 | 异度
笔趣阁 //www.boquge.com/book/105094/ 为您提供编程之战全文阅读!注册本站用户,获取免费书架,追书更方便!
  “系统妹子,下一站去哪儿?”
  刚当完传教士回来,杨成只感觉腰酸背痛腿抽筋。
  他恨不能马上去做个SPA来舒缓一下筋骨。
  “德国”,系统的回答让杨成眼前一亮。
  他开始想象自己在德国的某个景区畅游一番的情形了。
  德国哈雷大学,这所有着两百年历史的学校,保存着很多历史的名迹。
  其中最富盛名的当属一代数学大师康托尔的故居。
  锈迹斑斑的小院铁门被杨成推开,发出一阵刺耳的声响。
  遍地的碎叶积了厚厚的一层,显示出这里的门可罗雀。
  而空气中则弥漫着一股尘封的历史气息。
  杨成感觉到有一种声音在呼唤着他,于是毫不迟疑地大步走进故居内部。
  这居室内的东西都没有被动过,布满了厚厚的灰尘,一些手稿和书籍甚至难辨字迹。
  唯一显眼的是一块小小的黑板,上面用石膏写下了一段简介:
  “康托尔在这里度过了人生的后半辈子,他创建了集合论。”
  “过往的游客哟,请停下你们的脚步,回答一个简单的问题。”
  “给定一个大小为N的集合,它的非空子集数目是多少?”
  这段简介的下方有很多乱七八糟的个人签名。
  比方说“xx到此一游”。
  没有一个真正的回答。
  游客们毕竟只是慕名而来,面对这样的问题,也大都是一笑了之。
  杨成却是驻足,耐心地思考起来,毕竟他是来解决问题的。
  比如说有序列{1,2,3,4},它的非空子集包括:
  {{1},{2},{3},{4},{1,2},{1,3},{1,4},{2,3},{2,4},{3,4},{1,2,3},{1,2,4},{1,3,4},{2,3,4},{1,2,3,4}}
  总共有15项。
  而空集并没有被统计在内。
  传统的求子集方法在这个问题上可能派不上用场。
  如果对性能有要求,比如集合的大小可能达到50甚至更多,那么使用递归耗费的时间就太长了。
  好在我们无须求子集具体的内容,单单只需要求数目,所以可以借助一个公式。
  (注意不是序列,集合没有重复的元素)
  如果一个集合,它有N个元素,那么,该集合就有2的N次方个子集。
  这个子集是包含空集和自身的,所以要求非空子集,就可以用2^N-1来计算。
  杨成拾起一块小小的粉笔,在黑板的空白处郑重地写下了这个公式。
  康托尔生前的学说集合论并不被人认可,他的价值在死后才得以体现。
  每一位科学先哲,都值得致以敬意!
  杨成感觉在这款游戏中学到更多的,不仅仅是知识,还有一种对待问题的态度。
  哪怕是最简单的,一行代码可以搞定的问题,也应该仔细地推敲。
  他静静地站立着,感受先贤的气息,直到系统音拉回他的思绪。
  “叮!恭喜您完成了求非空子集的相关任务!”
  “当前积分69分,击败了全球30%的玩家,请您再接再厉!”