news 2026/2/15 10:48:28

递归的作业练习

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
递归的作业练习

1. 实现n的k次方(递归)
// Pow(n,k)(n的k次方)
// k>0,n*Pow(n,k-1)
// k=0,1
// k<0,1.0/Pow(n,-k)

double Pow(int n, int k)
{
if (k > 0)
return n * Pow(n, k - 1);
else if (k == 0)
return 1;
else
return 1.0 / Pow(n, -k);
}

int main()
{
int n = 0;
int k = 0;
scanf("%d%d", &n, &k);
double ret = Pow(n, k);
printf("%lf\n", ret);
return 0;
}
2. 字符串逆序(递归实现)
void reverse(char* str)
{
char tmp = *str; //1
int len = strlen(str);
*str = *(str + len - 1); //2
*(str + len - 1) = '\0'; //3
if (strlen(str + 1) >= 2)
reverse(str + 1); //4
*(str + len - 1) = tmp;
}

int main()
{
char arr[] = "abcdefg"; //[a b c d e f g \0]
reverse(arr);
printf("%s\n", arr);
return 0;
}
3. 数字各位求和(递归)
int DigitSum(unsigned int n)
{
if (n > 9)
return DigitSum(n / 10) + n % 10;
else
return n;
}

int main()
{
unsigned int n = 0;
scanf("%u", &n);
int sum = DigitSum(n);
printf("%d\n", sum);
return 0;
}
4. 递归函数Fun
#include <stdio.h>
int Fun(int n)
{
if (n == 5)
return 2;
else
return 2 * Fun(n + 1);
}

int main()
{
int ret = Fun(2);
// 2*Fun(3)=8 → 2*Fun(4)=4 → 2*Fun(5)=2 → 最终16
printf("%d\n", ret);
return 0;
}
5. 字符串逆序(非递归)
// 字符串逆序(非递归)
int main()
{
char arr[] = "abcdefg"; //[a b c d e f g \0]
int sz = sizeof(arr) / sizeof(arr[0]);
int left = 0;
int right = sz - 2;
while (left < right)
{
char tmp = arr[left];
arr[left] = arr[right];
arr[right] = tmp;
left++;
right--;
}
printf("%s\n", arr);
return 0;
}

// 非函数型 用递归写

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/2/14 0:47:41

Dubbo学习(二):深入 RPC

深入 RPC:一次远程调用的“奇幻漂流” —— 协议、Metadata 与序列化 请关注公众号【碳硅化合物AI】 摘要 本篇将深入 Dubbo 的核心地带 —— RPC 层。我们将揭开一次方法调用是如何被“打包”成网络请求,又是如何在另一端被“还原”并执行的。本文涵盖 Invoker 的前世今生…

作者头像 李华
网站建设 2026/2/7 10:55:30

IC卡门禁读卡器是一款高性能、多协议兼容的智能识别终端,专为门禁、梯控、闸机等场景设计。它同时支持125KHz低频协议和13.56MHz高频协议,具备极强的环境适应性,可在金属表面(建议开孔安装)

IC卡门禁读卡器/梯控读头规格书&#xff08;2026版&#xff09;。这份文档整合了技术参数&#xff0c;并参考了行业标准进行了结构化排版&#xff0c;方便您用于采购、技术对接或存档。&#x1f4c4; IC卡门禁读卡器/梯控读头规格书产品型号&#xff1a; 梯控读头 DAIC-TK-RW /…

作者头像 李华
网站建设 2026/2/6 10:47:24

基于SpringBoot + Vue的垃圾分类审核管理平台

文章目录前言一、详细操作演示视频二、具体实现截图三、技术栈1.前端-Vue.js2.后端-SpringBoot3.数据库-MySQL4.系统架构-B/S四、系统测试1.系统测试概述2.系统功能测试3.系统测试结论五、项目代码参考六、数据库代码参考七、项目论文示例结语前言 &#x1f49b;博主介绍&#…

作者头像 李华
网站建设 2026/2/12 15:31:10

League Akari终极指南:快速掌握免费英雄联盟智能助手

League Akari终极指南&#xff1a;快速掌握免费英雄联盟智能助手 【免费下载链接】LeagueAkari ✨兴趣使然的&#xff0c;功能全面的英雄联盟工具集。支持战绩查询、自动秒选等功能。基于 LCU API。 项目地址: https://gitcode.com/gh_mirrors/le/LeagueAkari 想要彻底改…

作者头像 李华
网站建设 2026/2/5 20:23:52

OpenAI开源安全推理引擎震撼发布:gpt-oss-safeguard改写AI内容治理规则

2025年10月29日&#xff0c;人工智能领域再次迎来里程碑事件——OpenAI正式对外开源其安全分类推理模型gpt-oss-safeguard。这款包含1200亿和200亿参数两个版本的重磅产品&#xff0c;不仅采用商业友好的Apache 2.0许可证&#xff0c;更以"策略即规则"的创新理念&…

作者头像 李华
网站建设 2026/2/15 1:50:39

匹配回文串:利用KMP算法求解

一、先明确问题&#xff1a;什么是 “回文串”&#xff1f;回文串定义&#xff1a;回文串是指正读和反读都完全相同的字符串比如 “abcba”“aaa”“level” 都是回文串&#xff0c;而 “abcd”“abbaa” 不是。可以简单理解为&#xff1a;字符串从左到右读&#xff0c;和从右到…

作者头像 李华