Run ID 作者 问题 语言 测评结果 时间 内存 代码长度 提交时间
85167 sh25_wangtaojie 爬楼梯 Python3 通过 28 MS 3724 KB 1353 2026-03-06 15:21:50

Tests(2/2):


def climb_stairs(n): """ 计算爬楼梯的不同走法数 每次可以走1级或2级台阶 使用动态规划优化空间复杂度 Args: n: 楼梯级数 Returns: 不同的走法数 """ if n <= 2: return n # 只需要保存前两项的值 prev2 = 1 # f(n-2) prev1 = 2 # f(n-1) # 从第3级开始计算到第n级 for i in range(3, n + 1): current = prev1 + prev2 # f(n) = f(n-1) + f(n-2) prev2 = prev1 prev1 = current return prev1 def main(): """ 主函数:处理多行输入,计算每行楼梯级数对应的走法数 """ import sys # 读取所有输入行 lines = [] try: for line in sys.stdin: line = line.strip() if line: lines.append(line) except EOFError: pass # 处理每一行输入 for line in lines: try: n = int(line) if 1 <= n <= 30: result = climb_stairs(n) print(result) else: print("输入超出范围(1-30)") except ValueError: print("输入格式错误,请输入正整数") if __name__ == "__main__": main()


测评信息: