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

C语言——递归题

对于递归问题,我们一定要想清楚递归的结束条件,每个递归的结束条件,就是思考这个问题的起始点

题目1:
在这里插入图片描述

思路:当k=1时,任何数的1次方都是原数,此时返回n,这就是递归的结束条件,当k>1时,就使用递归进行拆解:
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/b1585c9d96f54b47971798e55d4361d4.png

代码实现如下:

#include <stdio.h>int Func(int n,int k)
{if (k == 1)return n;elsereturn n * Func(n, k - 1);
}int main()
{int n = 0;int k = 0;scanf("%d %d", &n, &k);int ret = Func(n, k);printf("%d\n", ret);return 0;
}

代码的执行过程如下:

在这里插入图片描述

题目2:
在这里插入图片描述

思路:当输入值n<10时,返回n,这就是递归的结束条件,当n>10时:
在这里插入图片描述

代码实现如下:

#include <stdio.h>int Func(int n)
{if (n < 10)return n;elsereturn n % 10 + Func(n / 10);
}int main()
{int n = 0;scanf("%d", &n);int ret = Func(n);printf("%d\n", ret);return 0;
}

题目3:
在这里插入图片描述

思路:使用递归时,我们需要知道它的结束条件,当输入值n=1时,返回1,这就是结束条件,当n>1时:
在这里插入图片描述
使用非递归时,就是迭代(循环)。

代码实现如下:

#include <stdio.h>//使用递归
int Func(int n)
{if (n == 1)return n;elsereturn n * Func(n - 1);
}int main()
{int n = 0;scanf("%d", &n);int ret = Func(n);printf("%d\n", ret);return 0;
}//使用迭代
//int main()
//{
//	int n = 0;
//	scanf("%d", &n);
//	int ret = 1;
//
//	for (int i = 1; i <= n; i++)
//	{
//		ret *= i;
//	}
//	printf("%d\n", ret);
//
//	return 0;
//}

题目4:
在这里插入图片描述

思路:同样的,我们首先要判断递归的结束条件,当输入值n<10时,直接打印n,这就是递归的结束条件。当n>10时:
在这里插入图片描述

代码实现如下:

#include <stdio.h>void Print(int n)
{if (n < 10)printf("%d ", n);else{Print(n / 10);printf("%d ", n % 10);}}
int main()
{int n = 0;scanf("%d", &n);Print(n);return 0;
}

相关文章:

C语言——递归题

对于递归问题&#xff0c;我们一定要想清楚递归的结束条件&#xff0c;每个递归的结束条件&#xff0c;就是思考这个问题的起始点。 题目1&#xff1a; 思路&#xff1a;当k1时&#xff0c;任何数的1次方都是原数&#xff0c;此时返回n&#xff0c;这就是递归的结束条件&#…...

构建空间场景轻应用,Mapmost Alpha来啦【文末赠书(10本)--第一期】

文章目录&#xff1a; 一、Mapmost Alpha 介绍二、Mapmost Alpha应对数字孪生业务痛点解决之道2.1 Mapmost Alpha 提供海量城市底板2.2 Mapmost Alpha 提供便捷的配置管理工具2.3 Mapmost Alpha 提供一键式部署发布和分享 三、沉浸式体验Mapmost Alpha3.1 创建应用3.2 新手指导…...

基于冠豪猪优化算法(Crested Porcupine Optimizer,CPO)的无人机三维路径规划(MATLAB)

一、无人机路径规划模型介绍 无人机三维路径规划是指在三维空间中为无人机规划一条合理的飞行路径&#xff0c;使其能够安全、高效地完成任务。路径规划是无人机自主飞行的关键技术之一&#xff0c;它可以通过算法和模型来确定无人机的航迹&#xff0c;以避开障碍物、优化飞行…...

html2canvas+jsPDF实现前端导出pdf

html2canvasjsPDF实现前端导出pdf 安装插件包 npm install jspdf npm install html2canvas引入插件 import html2canvas from html2canvas; import jsPDF from jspdf;生成pdf const perCanvas document.createElement(canvas);perCanvas.style.backgroundColor #fffconst …...

Paimon新版本核心特性和生产实践解读

最近Apche Paimon发布了最新版本0.7.0&#xff0c;在这个版本中&#xff0c;Paimon对一些新特性进行了增强。 Paimon在数据湖领域发展迅速&#xff0c;未来会在整个数据开发领域占有很重要的地位&#xff0c;今天我们来盘点一下当前能力的特点以及在生产环境中的使用情况。 Loo…...

Java设计模式-策略模式

策略模式1 概述2 结构3 案例实现4 优缺点5 使用场景6 JDK源码解析 策略模式 1 概述 先看下面的图片&#xff0c;我们去旅游选择出行模式有很多种&#xff0c;可以骑自行车、可以坐汽车、可以坐火车、可以坐飞机。 作为一个程序猿&#xff0c;开发需要选择一款开发工具&#x…...

vxe-table配合Export2Excel导出object类型数据{type,count}。表格数据呈现是利用插槽,导出只要count该怎么做

先贴一张数据来&#xff1a; 一、然后是vxe-grid的columns配置&#xff1a; 然后就正常用封装好的Export2Excel就行。 碰到一次在控制台报错&#xff1a; 没复现出来&#xff0c;大概就说是count咋样咋样。 以后碰到的话再说&#xff0c;各位要用的话也注意看看 二、或者 用js…...

Java面试题(主要分清区别!!!)

RequestBody和ResponseBody的区别&#xff1f; RequestBody&#xff1a;接收json或xml数据 ResponseBody的&#xff1a;返回json或xml数据 RestController和Controller的区别&#xff1f; Controller&#xff1a;默认返回的是jsp页面 RestController&#xff1a;返回的是一个js…...

OD_2024_C卷_200分_2、石头剪刀布【JAVA】【逻辑分析】

题目描述 石头剪刀布游戏有 3 种出拳形状&#xff1a;石头、剪刀、布。分别用字母A、B、C表示。 游戏规则&#xff1a; 出拳形状之间的胜负规则如下&#xff1a; A > B&#xff1b; B > C&#xff1b; C > A&#xff1b; “>” 左边一个字母&#xff0c;表示相对…...

矩阵求导笔记

文章目录 1. ML中为什么需要矩阵求导2. 向量函数与矩阵求导初印象3. YX 拉伸术3.1 f(x)为标量&#xff0c;X为列向量3.2 f(x)为列向量&#xff0c;X 为标量3.3 f(x)为列向量&#xff0c;X 为列向量 4. 常见矩阵求导公式4.1 Y A T X YA^TX YATX4.2 Y X T A X YX^TAX YXTAX 1…...

全量知识系统问题及SmartChat给出的答复 之19 关于演示模板

Q.60 可参考的演示模版 (word-def occupiedinterest 5type EBsubclass SEBtemplate (script $Demonstrateactor nilobject nildemands nilmethod (scene $Occupyactor nillocation nil))fill (((actor) (top-of *actor-stack*))((method actor) (t…...

Linux学习——线程的控制

目录 ​编辑 一&#xff0c;线程的创建 二&#xff0c;线程的退出 1&#xff0c;在子线程内return 2,使用pthread_exit(void*) 三&#xff0c;线程等待 四&#xff0c;线程获取自己的id值 五&#xff0c;线程取消 六&#xff0c;线程分离 一&#xff0c;线程的创建 在对…...

Rust常用特型之Drop特型

Rust常用特型之Drop特型.md在Rust标准库中&#xff0c;存在很多常用的工具类特型&#xff0c;它们能帮助我们写出更具有Rust风格的代码。 今天&#xff0c;我们主要学习Drop特型。 &#xff08;注&#xff1a;本文更多的是对《Programing Rust 2nd Edition》的自己翻译和理解&…...

嵌入式 Linux 学习

在学习嵌入式 Linux 之前&#xff0c;我们先来了解一下嵌入式 Linux 有哪些东西。 1. 嵌入式 Linux 的组成 嵌入式 Linux 系统&#xff0c;就相当于一套完整的 PC 软件系统。 无论你是 Linux 电脑还是 windows 电脑&#xff0c;它们在软件方面的组成都是类似的。 我们一开电…...

Makedown语法

这里写自定义目录标题 欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题&#xff0c;有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants 创建一个自定义列表如何创建一个…...

SQLite语句

1.重写SQLiteOpenHelper // 例. public class MySQLiteOpenHelper extends SQLiteOpenHelper {public MySQLiteOpenHelper(Nullable Context context, Nullable String name, Nullable SQLiteDatabase.CursorFactory factory, int version) {super(context, name, factory, ve…...

Spring揭秘:Aware接口应用场景及实现原理!

内容概要 Aware接口赋予了Bean更多自感知的能力&#xff0c;通过实现不同的Aware接口&#xff0c;Bean可以轻松地获取到Spring容器中的其他资源引用&#xff0c;像ApplicationContext、BeanFactory等。 这样不仅增强了Bean的功能&#xff0c;还提高了代码的可维护性和扩展性&…...

校园小情书微信小程序,社区小程序前后端开源,校园表白墙交友小程序

功能 表白墙卖舍友步数旅行步数排行榜情侣脸漫画脸个人主页私信站内消息今日话题评论点赞收藏 效果图...

从Pandas到Polars :数据的ETL和查询

对于我们日常的数据清理、预处理和分析方面的大多数任务&#xff0c;Pandas已经绰绰有余。但是当数据量变得非常大时&#xff0c;它的性能开始下降。 本文将介绍如何将日常的数据ETL和查询过滤的Pandas转换成polars。 图片 Polars的优势 Polars是一个用于Rust和Python的Data…...

Node.Js编码注意事项

Node.js 中不能使用 BOM 和 DOM 的 API&#xff0c;可以使用 console 和定时器 APINode.js 中的顶级对象为 global&#xff0c;也可以用 globalThis 访问顶级对象 浏览器端js的组成 Node.js中的JavaScript组成 相比较之下发现只有console与定时器是两个API所共有的&#xff…...

CefFlashBrowser完整指南:在2025年完美访问Flash内容与游戏存档管理

CefFlashBrowser完整指南&#xff1a;在2025年完美访问Flash内容与游戏存档管理 【免费下载链接】CefFlashBrowser Flash浏览器 / Flash Browser 项目地址: https://gitcode.com/gh_mirrors/ce/CefFlashBrowser 在Flash技术已被主流浏览器淘汰的今天&#xff0c;你是否还…...

打字不如说话,说话不如截图——AI 代码助手的多模态输入实践祷

整体排查思路 我们的目标是验证以下三个环节是否正常&#xff1a; 登录成功时&#xff1a;服务器是否正确生成了Session并返回了包含正确 JSESSIONID的Cookie给浏览器。 浏览器端&#xff1a;浏览器是否成功接收并存储了该Cookie。 后续请求&#xff1a;浏览器在执行查询等操作…...

AI时代的算法思维:大经典排序学习媚

引言 在现代软件开发中&#xff0c;性能始终是衡量应用质量的重要指标之一。无论是企业级应用、云服务还是桌面程序&#xff0c;性能优化都能显著提升用户体验、降低基础设施成本并增强系统的可扩展性。对于使用 C# 开发的应用程序而言&#xff0c;性能优化涉及多个层面&#x…...

可变形卷积实战:从原理到PyTorch实现

1. 可变形卷积的核心原理 第一次接触可变形卷积这个概念时&#xff0c;我正被一个目标检测项目困扰着。传统卷积神经网络在处理形变物体时表现不佳&#xff0c;比如检测不同姿态的行人或者被部分遮挡的车辆。直到发现了可变形卷积这个"黑科技"&#xff0c;问题才迎刃…...

Python实战:从零构建天气查询Agent的完整指南

1. 为什么你需要一个天气查询Agent 每次出门前都要手动打开天气App查温度&#xff1f;或者总忘记带伞被突然的暴雨淋成落汤鸡&#xff1f;这些烦恼其实可以用几行Python代码解决。我最近刚用Python给自己写了个天气查询Agent&#xff0c;现在每天早上刷牙时喊一声"查今天天…...

龙芯k - 走马观碑组ST驱动移植柏

正文 异步/等待解决了什么问题&#xff1f; 在传统同步I/O操作中&#xff08;如文件读取或Web API调用&#xff09;&#xff0c;调用线程会被阻塞直到操作完成。这在UI应用中会导致界面冻结&#xff0c;在服务器应用中则造成线程资源的浪费。async/await通过非阻塞的异步操作解…...

磁珠在电源端必须加电容?一个容易被忽略的EMI设计细节与避坑指南

磁珠在电源端必须加电容&#xff1f;一个容易被忽略的EMI设计细节与避坑指南 在高速电路设计中&#xff0c;电磁干扰&#xff08;EMI&#xff09;问题往往成为工程师的噩梦。特别是当电路板上集成了Camera模块、RF收发器或其他敏感模拟电路时&#xff0c;电源线上的噪声就像隐形…...

效率神器!命令行终端优化(Zsh, iTerm2)

效率神器&#xff01;命令行终端优化&#xff08;Zsh, iTerm2&#xff09; 对于开发者和技术爱好者来说&#xff0c;命令行终端是日常工作中不可或缺的工具。默认的终端配置往往功能有限&#xff0c;操作效率低下。通过优化终端环境&#xff0c;比如使用Zsh和iTerm2&#xff0…...

Profinet协议在工业自动化中的无线通信应用解析

1. Profinet协议&#xff1a;工业自动化的"神经系统" 如果把工业自动化系统比作人体&#xff0c;那么Profinet协议就是这套系统的"神经系统"。它负责在控制器&#xff08;大脑&#xff09;、执行器&#xff08;四肢&#xff09;和传感器&#xff08;感官&a…...

Intv_AI_MK11成本控制与资源监控:GPU算力优化使用指南

Intv_AI_MK11成本控制与资源监控&#xff1a;GPU算力优化使用指南 1. 为什么需要关注GPU算力成本 如果你长期使用Intv_AI_MK11这类AI模型&#xff0c;一定深有体会&#xff1a;GPU算力成本就像个无底洞。每次看到云服务账单时&#xff0c;那种"钱在燃烧"的感觉特别…...