头歌C语言课程实验(递归函数、嵌套函数)

news/2024/5/20 3:34:45

第1关:递归求阶乘数列

任务描述

题目描述:用递归求Sn=1!+2!+3!+4!+5!+…+n!之值,其中n是一个数字。

相关知识(略)
编程要求

请仔细阅读右侧代码,结合相关知识,在Begin-End区域内进行代码补充。 输入

一个整数n(1<=n<=20)

输出

输出表达式的值,占一行。

测试说明

样例输入:

5

样例输出:

153

提示:

因阶乘结果变化很快,所以输入数据不可太大。


开始你的任务吧,祝你成功!

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
long long solve(long long n)
{/*********Begin*********/long long i1 = 1, s = 1;while (i1 <= n){s = s * i1;i1++;}return s;/*********End**********/
}
int main(void)
{long long n;scanf("%lld", &n);long long ans = 0;for (long long i = 1; i <= n; i++)ans += solve(i);printf("%lld", ans);return 0;
}

第2关:递归实现输出一个整数的逆序

任务描述

题目描述:编写一个递归函数,将一个整数n逆序输出,比如,n = 12345,输出54321。 ####相关知识(略) ####编程要求 请仔细阅读右侧代码,结合相关知识,在Begin-End区域内进行代码补充。 输入

一个整数n输出

该整数的逆序。 ####测试说明 样例输入: 12345 样例输出:

54321


开始你的任务吧,祝你成功!

#include<stdio.h>
void solve(int n)
{printf("%d", (n%10));//取末位,1234再取/*********Begin*********/n = n / 10;//左移,1234/*********End**********/if (n > 0) solve(n);
}
int main(void)
{int n;scanf("%d",&n);solve(n);return 0;
}

第3关:将整数递归转换成字符串

任务描述

题目描述:用递归法将一个整数n转换成字符串。例如,输入n483,输出字符串 4 8 3,每个数字后面接一个空格用于隔开字符。 ####相关知识(略) ####编程要求 请仔细阅读右侧代码,结合相关知识,在Begin-End区域内进行代码补充。 输入

一个整数n 输出

相应的用空格隔开的数字字符。

特别注意:输出字符之间有空格

测试说明

样例输入:

483 样例输出:

4 8 3


开始你的任务吧,祝你成功!

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
void solve(int n)
{int temp = n % 10;//取3,8,4/*********Begin*********/n = n / 10;//48if(n > 0)solve(n);/*********End**********/if (n)printf(" %d", temp);elseprintf("%d", temp);
}
int main(void)
{int n;scanf("%d", &n);solve(n);return 0;
}

第4关:递归实现Ackman函数

任务描述

题目描述:编写一函数实现下列Ackman函数,其中mn为正整数

 Acm(m,n)= ⎩⎪⎪⎨⎪⎪⎧​n+1Acm(m−1,1)Acm(m−1,Acm(m,n−1))​ if m=0,n>0 if n=0,m>0 if n>0,m>0​

相关知识(略)
编程要求

请仔细阅读右侧代码,结合相关知识,在Begin-End区域内进行代码补充。 输入 一个两个整数 输出 输出表达式的值,占一行。 ####测试说明 样例输入: 1 1 样例输出: 3


开始你的任务吧,祝你成功!

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int Acm(int m, int n) {if (m == 0 && n > 0)/*********Begin*********/return n + 1;/*********End**********/else if (n == 0 && m > 0)/*********Begin*********/{return Acm(m - 1, 1);}/*********End**********/else/*********Begin*********/{return Acm(m - 1, Acm(m, n - 1));}/*********End**********/
}
int main(void)
{int m, n;scanf("%d%d", &m, &n);printf("%d", Acm(m, n));return 0;
}


http://www.mrgr.cn/p/12063743

相关文章

【免费Java系列】大家好 ,今天是学习面向对象高级的第八天点赞收藏关注,持续更新作品 !

这是java进阶课面向对象第一天的课程可以坐传送去学习http://t.csdnimg.cn/Lq3io day08-Map集合、Stream流、File类 一、Map集合 同学们&#xff0c;在前面几节课我们已经学习了Map集合的常用方法&#xff0c;以及遍历方式。 下面我们要学习的是Map接口下面的是三个实现类H…

图算法必备指南:《图算法:行业应用与实践》全面解读,解锁主流图算法奥秘!

《图算法&#xff1a;行业应用与实践》于近日正式与读者见面了&#xff01; 该书详解6大类20余种经典的图算法的原理、复杂度、参数及应用&#xff0c;旨在帮助读者在分析和处理各种复杂的数据关系时能更好地得其法、善其事、尽其能。 全书共分为10章&#xff1a; 第1~3章主要…

【译】使用(滥用)LLM 压缩文本

来源:o565.com/llm-text-compression/介绍 大型语言模型是在大型文本数据集上进行训练的,以学习更大文档中单词的关系和上下文。这些关系是模型生成文本的基础。 最近,我读到了关于 LLMs 被训练在受版权保护的文本上并将其复制的担忧。这让我想:可以从 LLM 中提取训练文本吗…

Verilog中4bit超前进位加法器

4bit超前进位加法器的逻辑表达式如下&#xff1a; 中间变量GiAiBi&#xff0c;PiAi⊕BiGi​Ai​Bi​&#xff0c;Pi​Ai​⊕Bi​ 和&#xff1a;SiPi⊕Ci−1Si​Pi​⊕Ci−1​&#xff0c;进位&#xff1a;CiGiPiCi−1Ci​Gi​Pi​Ci−1​ 用Verilog语言采用门级描述方式&am…

NodeJS路径遍历:示例及预防

让我们来看看什么是路径遍历攻击,以及在Node.js中可以采用哪些方法来阻止这种攻击。构建一个安全而健壮的应用程序需要考虑的因素很多,并非一件容易的事情。要确保覆盖所有潜在的漏洞是一项十分艰巨的任务,这需要大量的经验和指导。在这些漏洞中,有一个和系统目录访问安全相…

行业新应用:电机驱动将成为机器人的动力核心

电机已经遍布当今社会人们生活的方方面面&#xff0c;不仅应用范围越来越广&#xff0c;更新换代的速度也日益加快。按照工作电源分类&#xff0c;可以将它划分为直流电机和交流电机两大类型。直流电机中&#xff0c;按照线圈类型分类&#xff0c;又可以分为有铁芯的电机、空心…

k8s搭建集群

1.单master集群 模式缺点:如果master宕机了,就整个集群也没有办法访问了。2.多master集群 模式 3.快速搭建k8s集群--Kubeadm: 4.快速搭建k8s集群--二进制方式:

在Windows运行Gitlab Runner打包基于.NET Framework 4.6.1的项目

摘要 本文详细描述了运行在Windows商的Gitlab Runner,如何自动集成.NET Framework的项目。 Gitlab中的变量 变量1:NUPKG_OUTPUT_ROOT 这个目录是在git获取的解决方案根目录之外,因为stages变了以后,当前Gitlab Runner工作的当前解决方案根目录下会被清空。我们希望build了以…

自动虫情测报灯

TH-CQ6随着农业科技的不断进步&#xff0c;智能化、自动化的设备正逐步渗透到农业生产的各个环节中。其中&#xff0c;自动虫情测报灯作为一种新兴的农业科技产品&#xff0c;正以其独特的功能和优势&#xff0c;成为农田病虫害防治的重要工具。 一、自动虫情测报灯的工作原理…

vue3 + ts 快速入门(全)

文章目录 学习链接1. Vue3简介1.1. 性能的提升1.2.源码的升级1.3. 拥抱TypeScript1.4. 新的特性 2. 创建Vue3工程2.1. 基于 vue-cli 创建2.2. 基于 vite 创建&#xff08;推荐&#xff09;vite介绍创建步骤项目结构安装插件项目结构总结 2.3. 一个简单的效果Person.vueApp.vue …

腾讯云CentOS7使用Docker安装ElasticSearch与Kibana详细教程

文章目录 一、安装ElasticSearch二、安装Kibana 一、安装ElasticSearch 使用Docker拉取ElasticSearch镜像 这里版本选择的是7.15.2 docker pull docker.elastic.co/elasticsearch/elasticsearch:7.15.22. 查看ElasticSearch的镜像id docker images3. 创建ElasticSearch容器 …

封装一个可以最小化和展开的弹窗组件

gl-dialog 大概思路&#xff1a; 在弹窗组件内部引入gl-dialog-collapse&#xff0c;这个组件主要用于存储已经被最小化的弹窗&#xff08;基础数据&#xff09; 弹窗内部的数据如何在父组件拿到是通过作用域插槽来实现的 gl-dialog接收一个tempData这个数据会在内部被记录下来…

C++中的栈和队列

✨前言✨ &#x1f4d8; 博客主页&#xff1a;to Keep博客主页 &#x1f646;欢迎关注&#xff0c;&#x1f44d;点赞&#xff0c;&#x1f4dd;留言评论 ⏳首发时间&#xff1a;2024年5月8日 &#x1f4e8; 博主码云地址&#xff1a;博主码云地址 &#x1f4d5;参考书籍&#…

何小鹏:活过淘汰赛,要做多边形战士下的规模第一

在北京车展上,小鹏汽车董事长 CEO 何小鹏接受媒体采访,就价格战、未来趋势、小米汽车等行业热点话题回答了媒体的提问。作为造车新势力的重要厂商,小鹏接下来也面临着市场淘汰赛的考验。 一方面是越来越激烈的价格战,另一方面还有小米、华为这样的科技大厂的强势入局,何小…

html--互动星空

<!doctype html> <html> <head> <meta charset"utf-8"> <title>互动星空</title><style> html,body {margin:0;overflow:hidden;width:100%;height:100%;cursor:none;background:black;background:linear-gradient(to bot…

翻译: 什么是ChatGPT 通过图形化的方式来理解 Transformer 架构 深度学习二

合集 ChatGPT 通过图形化的方式来理解 Transformer 架构 翻译: 什么是ChatGPT 通过图形化的方式来理解 Transformer 架构 深度学习一翻译: 什么是ChatGPT 通过图形化的方式来理解 Transformer 架构 深度学习二翻译: 什么是ChatGPT 通过图形化的方式来理解 Transformer 架构 深…

《最新出炉》系列入门篇-Python+Playwright自动化测试-44-鼠标操作-上篇

1.简介 前边文章中已经讲解过鼠标的拖拽操作,今天宏哥在这里对其的其他操作进行一个详细地介绍和讲解,然后对其中的一些比较常见的、重要的操作单独拿出来进行详细的介绍和讲解。 2.鼠标操作语法 鼠标操作介绍官方API的文档地址:https://playwright.dev/docs/api/class-mous…

windows下使用命令行查看已存储的wifi密码

netsh wlan show interface查看当前已连接wifi信息 netsh wlan show profiles查看所有已保存的wifi配置文件 netsh wlan show profiles name="XXXXXX" key="Clear"查看特定配置文件详情,包括wifi密码,密码在“关键内容”行

springboot lua检查redis库存

需求 最近需求需要实现检查多个马戏场次下的座位等席对应库存渠道的库存余量&#xff0c;考虑到性能&#xff0c;决定采用Lua脚本实现库存检查。 数据结构 库存层级结构 redis库存hash类型结构 实现 lua脚本 --- 字符串分割为数组 local function split(str, char)local…