《程序设计实习第五讲枚举》.pptVIP

  • 5
  • 0
  • 约5.93千字
  • 约 37页
  • 2016-11-22 发布于河南
  • 举报
内容提要 枚举的基本思想 程序设计练习 作业 枚举 一种解决问题的方法。例如:求小于N的最大素数 找不到一个数学公式,使得我们根据N就可以计算出这个素数 N-1是素数吗?N-2是素数吗?……N-K是素数的充分必要条件是:N-K不能被任何一个大于1、小于N-K的素数整除。 判断N-K是否是素数的问题又成了求小于N-K的全部素数 解决方法: 2是素数,记为PRIM0 根据PRIM0、PRIM1、… 、PRIMk ,寻找比PRIMk大的最小素数PRIMk+1。如果PRIMk+1大于N,则PRIMk是我们需要找的素数,否则继续寻找 枚举的思想: 列出所有可能的情况,逐一检查是否是问题的解 关键: 可能的情况是什么 有序地枚举,不漏掉情况 尽早发现不是解的情况 例1:完美立方 (POJ1543) 问题描述: a3 = b3 + c3 + d3为完美立方等式。例如123 = 63 + 83 + 103 。编写一个程序,对任给的正整数N (N≤100),寻找所有的四元组(a, b, c, d),使得a3 = b3 + c3 + d3,其中1a, b, c, d ≤N。 输入:正整数N (N≤100) 输出:每行输出一个完美立方,按照a的值,从小到大依次输出。当两个完美立方等式中a的值相同,则依次按照b、c、d进行非降序排列输出,即b值小的先输出、然后c值小的先输出、然后d值小的先输出。 样

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档