C语言经典例题-3

1.汉诺塔问题
//汉诺塔问题(递归实现)
//思路:1.将A中n-1个盘子放入B中,剩下最后一个(第n个)盘子放入C中。2.将B中n-1个盘子放入A中,剩下最后一个(第n个)放入C中。#include <stdio.h>void move(char x, char y)
{printf("%c -> %c\n", x, y);
}void Hanoi(int n, char a, char b, char c)
{if (n == 1){move(a, c);}else{Hanoi(n - 1, a, c, b);move(a, c);Hanoi(n - 1, b, a, c);}
}int main()
{int n = 0;scanf("%d", &n);Hanoi(n, 'a', 'b', 'c');return 0;
}
2.青蛙跳台阶问题
//青蛙跳台阶问题(递归实现)
//一只青蛙一次可以跳一级台阶或二级台阶和三级台阶。
//当N=1时,有1种跳法。
//当N=2时,首先可以跳两个一级台阶或一个二级台阶,有2种跳法
//当N=3时,首先可以跳一次一级台阶,剩下二级台阶,N=2时,有两种跳法。跳一次三级台阶,一种跳法。跳一次二级台阶,剩下一级台阶,N=1时,有1种跳法,则共四种方法
//当N=4时,首先可以跳一次一级台阶,剩下三级台阶,N=3时,有4种跳法。跳一次二级台阶,剩下二级台阶,N=2时,有2种跳法。跳一次三级台阶,剩下一级台阶,N=1时,1种跳法。则共7种方法.
#include <stdio.h>int dance_step(int n)
{if (n == 1)return 1;if (n == 2)return 2;if (n == 3)return 4;if (n > 3)return dance_step(n - 1) + dance_step(n - 2) + dance_step(n - 3);
}int main()
{int n = 0;scanf("%d", &n);int sum = dance_step(n);printf("%d\n", sum);return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/17361.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

WordPress建网站公司 建易WordPress建站

建易WordPress建网站公司是一家专业从事WordPress网站建设、网站维护、网站托管、运营推广和搜索引擎优化(SEO)等服务的公司。建易WordPress建网站公司提供多种服务&#xff0c;包括模板建站和定制网站&#xff0c;并且明码标价&#xff0c;价格透明&#xff0c;竭诚为全国各地…

广告案例全解码:让你的品牌广告效果翻倍的分析技巧

进行广告案例分析是一个系统化的过程&#xff0c;它可以帮助你深入理解广告活动的各个方面&#xff0c;包括目标、策略、执行和效果。 以下是进行广告案例分析的十大步骤&#xff1a; 1. 确定广告案例的关键问题&#xff1a; 识别案例中的主要问题和挑战&#xff0c;这将是你…

民国漫画杂志《时代漫画》第28期.PDF

时代漫画28.PDF: https://url03.ctfile.com/f/1779803-1248635321-5c67ad?p9586 (访问密码: 9586) 《时代漫画》的杂志在1934年诞生了&#xff0c;截止1937年6月战争来临被迫停刊共发行了39期。 ps: 资源来源网络!

Inno Setup磁盘跨越必须启用,因为程序大于21000000000

在[Setup]这一栏的末尾添加 DiskSpanningyes 推荐一个零声学院项目课&#xff0c;个人觉得老师讲得不错&#xff0c;分享给大家&#xff1a; 零声白金学习卡&#xff08;含基础架构/高性能存储/golang云原生/音视频/Linux内核&#xff09; https://xxetb.xet.tech/s/3Zqhgt

防火墙技术基础篇:NAT转发之——Smart NAT(No-PAT和NAPT结合)

防火墙技术基础篇&#xff1a;NAT转发之——Smart NAT&#xff08;No-PAT和NAPT结合&#xff09; 传统的NAT技术在处理大规模网络和复杂应用场景时存在一定的局限性。为了解决这些问题&#xff0c;一种名为Smart NAT的新型网络技术应运而生。本文将详细介绍Smart NAT的概念、原…

【链表】Leetcode 82. 删除排序链表中的重复元素 II【中等】

删除排序链表中的重复元素 II 给定一个已排序的链表的头 head &#xff0c; 删除原始链表中所有重复数字的节点&#xff0c;只留下不同的数字 。返回 已排序的链表 。 示例 1&#xff1a; 输入&#xff1a;head [1,2,3,3,4,4,5] 输出&#xff1a;[1,2,5] 解题思路 由于链表…

JDK1.8新特性

JDK1.8新特性 JDK1.8新特性简介 速度更快 - 优化底层源码&#xff0c;比如HashMap、ConcurrentHashMap代码更少 - 添加新的语法Lambda表达式强大的Stream API便于并行最大化减少空指针异常 - Optional Lambda表达式 简介 Lambda是一个匿名函数(方法)&#xff0c; 允许把函数…

openssh升级

原因&#xff1a;因为低版本出现了漏洞 过程&#xff1a; 此时&#xff0c;root不能登录。 修改/etc/pam.d/login 第2行前面加上#&#xff0c;保存退出 /etc/pam.d/remote 第2行前面加上#&#xff0c;保存退出 此时root可以通过telnet登录了 二、升级openssl和openssh 【L…

C++容器之栈(std::stack)

目录 1 概述2 使用实例3 接口使用3.1 construct3.2 empty3.3 size3.4 top3.5 push3.6 emplace3.7 pop3.8 swap1 概述 堆栈是一种容器适配器,专门设计用于在后进先出(后进先出)环境中操作,其中元素仅从容器的一端插入和提取。   堆栈被实现为容器适配器,容器适配器是使用…

下半年开考,仅考1次,系统集成项目管理工程师考试安排!

《系统集成项目管理工程师教程》第3版官方教材将在下半年开始使用&#xff0c;相对于之前的版本&#xff0c;变化很大。新老考生都需要重新学习。历年真题显示&#xff0c;官方教材非常重要&#xff0c;考试题目大部分都可以在教材中找到原文。因此&#xff0c;对于下半年的考试…

Go 实现 WebSocket 的双向通信

在Go语言中实现WebSocket的双向通信通常需要使用第三方库&#xff0c;其中 gorilla/websocket 是一个非常流行和广泛使用的库。 1、安装 go get github.com/gorilla/websocket 2、编写WebSocket服务器代码 package mainimport ("fmt""github.com/gorilla/we…

【C++】构造函数、析构函数、拷贝构造与运算符重载

文章目录 1.类的六个默认构造函数2.构造函数2.1特性2.1.1 函数名与类名相同2.1.2. 无返回值&#xff08;不能写void&#xff09;2.1.3. 对象实例化时编译器自动调用对应的构造函数2.1.4 构造函数可以重载2.1.5编译器生成默认的构造函数2.1.6编译器生成的默认构造有何用&#xf…

linux开发之设备树写法

设备树的根节点 设备树子节点和子子节点,子节点在根节点范围内 包含子节点以及子子节点 节点名称 比如这里led就是这个gpio的小名,可以直接用 gpio22020101是这里的名字,也就是要用这个gpio,符号后面的一串数字使用了这个gpio的寄存器地址,因为可能会用很多gpio,所以加入寄存…

游戏开发与软件开发的区别

游戏开发和软件开发作为两个重要的领域&#xff0c;分别吸引了大量的开发者和用户。尽管这两者在许多方面存在共通之处&#xff0c;但它们在目标、开发过程、技术需求和团队结构上都有显著的区别。本文将详细探讨游戏开发与软件开发的不同之处。 目标与用户体验 游戏开发的主…

如何测试大型语言模型

围绕使用AI助手来减少手动工作、通过代码生成器提高软件开发者的生产力&#xff0c;以及利用生成式AI进行创新&#xff0c;这些话题一直为公众所热议。同时&#xff0c;商业机会正推动许多开发团队构建知识库、使用向量数据库&#xff0c;并在其应用中嵌入大型语言模型&#xf…

console.log——NPM库

前期回顾 Vue3 TS 项目实战 - 后台管理系统 - 按钮权限_vue3ts后台管理-CSDN博客 目录 &#x1f6a9;不使用NPM插件的方式 第一步&#xff1a;创建log函数-源码 第二步&#xff1a;注册到window上 第三步&#xff1a;扩展Window接口 第四步&#xff1a;确保类型文件…

CMake是怎么找到Qt相关模块的

当我们使用QT创建了一个CMake项目后&#xff0c;我们尝试使用CMake编译时&#xff0c;会遇到找不到Qt的模块的问题&#xff0c; find_package(QT NAMES Qt6 Qt5 REQUIRED COMPONENTS Widgets WebSockets WebEngineWidgets) 复制代码 深入了解find_package之后&#xff0c;我们就…

南卡、韶音、Cleer开放式耳机如何选?全面对比测评拒绝智商税!

随着开放式耳机在生活中日益流行&#xff0c;市场上的多样化选择有时也伴随着质量参差不齐的问题&#xff0c;部分产品因成本控制而牺牲了材质和音质&#xff0c;给消费者在寻找高质量耳机时增添了困扰。 作为一名耳机评测领域的从业者&#xff0c;近期我投入大量精力对多款开…

Softing线上研讨会 | 使用Softing smartLink SW-HT将AB PLC下的HART设备连接到艾默生AMS设备管理器

| (免费) 线上研讨会时间&#xff1a;2024年6月25日 14:00~14:45 / 22:30~23:15 艾默生AMS设备管理器凭借其全面功能、优秀诊断能力、兼容性以及远程监控和管理功能&#xff0c;在过程工业中被证明是一款先进的工厂资产管理工具&#xff0c;可用于设备配置、诊断和监控、仪表校…