C++程序设计—大模型思维与实践课件 第11章 递归-进阶内容.pptxVIP

  • 3
  • 0
  • 约2.25万字
  • 约 49页
  • 2026-06-18 发布于山东
  • 举报

C++程序设计—大模型思维与实践课件 第11章 递归-进阶内容.pptx

第十一章递归C++程序设计——大模型思维与实践

1递归算法:回溯法

3寻找纯素数1.问题描述例:有这样一种素数叫纯素数,当它是一个多位数的时候,把它的末位一位一位依次去掉之后余下的数依然是一个素数。例如2393,2393本身是一个素数,它的末位去掉之后,余下的239是一个素数,再将末位去掉,余下的23仍然是一个素数。再将末位去掉,余下的2依然是一个素数。请输出8位数的所有纯素数。2.问题分析枚举法:枚举法是一种直接而简单的方法,其核心思想是逐一尝试所有可能的情况,直到找到满足条件的解。对于寻找8位数的所有纯素数问题,枚举法会遍历所有8位的正整数,检查每一个数是否满足纯素数的定义:该数本身是素数,且去掉末位后剩余的数也是素数,直至只剩下一位(也需为素数)

4寻找纯素数枚举法的缺点:效率低下:随着数字范围的增大,需要检查的数量急剧增加,导致算法运行时间显著增长。对于8位数的情况,虽然范围相对有限99999999之间),但逐一检查每个数是否满足纯素数条件仍然是一个耗时的过程。资源消耗大:大量的计算意味着更多的CPU时间和内存资源被占用。回溯法:回溯法是一种通过探索所有可能的候选解来找出所有解的算法。对于纯素数问题,回溯法可以从最高位开始,逐步构建可能的纯素数。在每一步中,都会检查当前构建的数字是否满足部分条件,如果满足,则继续向前试探(在末尾添加一位数),如

文档评论(0)

1亿VIP精品文档

相关文档