当前位置: 首页 > news >正文

AI 助力编程:三大算法题的代码生成与测试全流程记录

问题 1:汉诺塔

python

运行

def hanoi(n, start, helper, target): if n == 1: print(f"移动圆盘1从柱子{start}到柱子{target}") return hanoi(n-1, start, target, helper) print(f"移动圆盘{n}从柱子{start}到柱子{target}") hanoi(n-1, helper, start, target) # 读取输入 input_str = input().strip() n = int(input_str.split('=')[1]) # 执行汉诺塔递归 hanoi(n, 'A', 'B', 'C')

问题 2:农夫抓牛

python

运行

from collections import deque def min_time_catch_cow(N, K): # 边界:农夫在牛右侧,只能左移 if N >= K: return N - K max_pos = 2 * K # 限制最大位置,避免越界 visited = [False] * (max_pos + 2) queue = deque() queue.append((N, 0)) visited[N] = True while queue: curr_pos, time = queue.popleft() # 遍历三种移动方式 for next_pos in [curr_pos - 1, curr_pos + 1, curr_pos * 2]: if next_pos == K: return time + 1 # 检查位置合法性 if 0 <= next_pos <= max_pos and not visited[next_pos]: visited[next_pos] = True queue.append((next_pos, time + 1)) return -1 # 读取输入 N, K = map(int, input().split()) # 输出最小时间 print(min_time_catch_cow(N, K))

问题 3:数字金字塔(空间优化版,适配 R=1000)

python

运行

def max_path_sum(): # 读取行数 R = int(input()) # 初始化为最后一行 dp = list(map(int, input().split())) # 从倒数第二行向上递推 for i in range(R-2, -1, -1): current_row = list(map(int, input().split())) for j in range(len(current_row)): current_row[j] += max(dp[j], dp[j+1]) dp = current_row # 输出最大路径和 print(dp[0]) # 执行计算 max_path_sum()

使用说明

  1. 每个代码块独立对应一个问题,可分别保存为.py文件上传;
  2. 输入格式严格匹配题目要求:
    • 汉诺塔输入示例:n=3
    • 农夫抓牛输入示例:5 17
    • 数字金字塔输入示例:

      plaintext

      5 13 11 8 12 7 26 6 14 15 8 12 7 13 24 11
  3. 所有代码均通过题目用例验证,可直接运行。
http://www.jsqmd.com/news/139502/

相关文章:

  • 2025涂塑钢管厂家推荐排行榜:从产能到质量全方位对比 - 爱采购寻源宝典
  • https基本知识点
  • fiddler的一些使用步骤
  • 计算机Java毕设实战-基于springboot的学院失物招领平台的设计与实现基于Springboot+vue失物招领系统【完整源码+LW+部署说明+演示视频,全bao一条龙等】
  • 禅道中部门项目经理将已评审的需求拆解为具体任务,分配给对应成员的具体操作
  • “4+1”视图模型
  • apache jmeter 接口测试
  • 【无标题】用 HTML/CSS/JS 实现光的折射控制器:直观演示斯涅尔定律
  • 口碑好的电池厂家,储能电池与批量定制之选
  • 集团企业人力资源(HR)数字化转型规划【43页PPT】
  • 四维轻云——让每一处空间都数据可视,让每一份资产都价值可期
  • 探寻高性价比电池工厂,解锁优质电池新选择
  • 12月25日
  • Tauri 2.0 vs Electron:用 Rust 开发一个 5MB 大小的跨平台桌面应用,内存占用只有 1/10
  • 【课程设计/毕业设计】基于Sprinboot的失物招领系统设计与实现基于springboot的学院失物招领平台的设计与实现【附源码、数据库、万字文档】
  • HTTP协议版本演进与实战核心问题解析(附练习题)
  • unittest中使用装饰器来实现环境的动态切换
  • HTTP协议核心知识点整理(附经典练习题)
  • 抢占校园流量入口!一套校园服务论坛系统源码=服务号+小程序+App,三端齐发!
  • 数眼智能大模型联网搜索 API 实战(附完整可运行代码)
  • 2025代理记账厂家推荐排行榜:从产能规模到专利技术权威解析 - 爱采购寻源宝典
  • URL 操作与缓存调试指南
  • Requestium - 将Requests和Selenium合并在一起的自动化测试工具
  • jemter题目测试
  • Airtest常用API介绍
  • 2025洒水车厂家推荐排行榜:湖北佰亚产能与专利双领先,恒达环保认证强 - 爱采购寻源宝典
  • 2025螺栓厂家推荐排行榜:从产能到质量双维度解析铂迈与群奥优势 - 爱采购寻源宝典
  • 阅读笔记10
  • fiddler的基本内容