【C/PTA —— 11.函数2(课外实践)】
C/PTA —— 11.函数2(课外实践)
- 一.函数题
- 6-1 计算A[n]=1/(1 + A[n-1])
- 6-2 递归实现顺序输出整数
- 6-3 自然数的位数(递归版)
- 6-4 分治法求解金块问题
- 6-5 汉诺塔
- 6-6 重复显示字符(递归版)
- 6-7 显示平行四边形(右)(递归版)
- 二.编程题
- 7-2 N阶楼梯上楼问题
一.函数题
6-1 计算A[n]=1/(1 + A[n-1])

float fun(int n)
{if (n == 1)return 1;return 1 / (1 + fun(n - 1));
}
6-2 递归实现顺序输出整数

void printdigits(int n)
{int count = 0;int num1 = 0;num1 = n;if (n == 0){printf("0");return 0;}while (n){n /= 10;count++;}int num[100] = { 0 };n = num1;int count1 = 0;while (n){num[count1++] = n % 10;n /= 10;}for (int i = count1 - 1; i >= 0; i--){printf("%d\n", num[i]);}
}
6-3 自然数的位数(递归版)

int NumDigit(int number)
{if (number == 0)return 0;else if (number / 10 == 0)return 1;elsereturn NumDigit(number / 10) + 1;
}
6-4 分治法求解金块问题

int max(int a[], int m, int n) {int i;int max = a[0];for (i = m; i < n + 1; i++) {if (a[i] > max) {max = a[i];}}return max;
}int min(int a[], int m, int n) {int i;int min = a[0];for (i = m; i < n + 1; i++) {if (a[i] < min) {min = a[i];}}return min;
}
6-5 汉诺塔

void hanoi(int n, char from, char to, char by)
{void move(char x, char y);if (n == 1)move(from, to);else{hanoi(n - 1, from, by, to);move(from, to);hanoi(n - 1, by, to, from);}
}void move(char x, char y)
{printf("%c->%c\n",x,y);
}
6-6 重复显示字符(递归版)

void Show(int number, char symbol)
{void Print(char ch);if (number <= 0)return;if (number == 1)Print(symbol);else{Show(number - 1, symbol);Print(symbol);}
}void Print(char ch)
{printf("%c", ch);
}
6-7 显示平行四边形(右)(递归版)

void RtPara(int width, int height, char symbol)
{void PrintSpace(int number);if (width <= 0 || height <= 0)return;else{PrintSpace(height - 1);Show(width, symbol);putchar('\n');RtPara(width, height - 1, symbol);}
}void PrintSpace(int number)
{if (number <= 0)return;else{printf(" ");PrintSpace(number - 1);}
}
二.编程题
7-2 N阶楼梯上楼问题

int ClimbStairs(int number)
{if (number == 1)return 1;else if (number == 2)return 2;else{int dp[number+1];dp[1] = 1;dp[2] = 2;int i = 0;for (i = 3; i <= number; i++){dp[i] = dp[i - 1] + dp[i - 2];}return dp[number];}
}int main()
{int n = 0;int ways = 0;scanf("%d", &n);ways = ClimbStairs(n);printf("%d\n", ways);
}
相关文章:
【C/PTA —— 11.函数2(课外实践)】
C/PTA —— 11.函数2(课外实践) 一.函数题6-1 计算A[n]1/(1 A[n-1])6-2 递归实现顺序输出整数6-3 自然数的位数(递归版)6-4 分治法求解金块问题6-5 汉诺塔6-6 重复显示字符(递归版)6-7 显示平行四边形(右)(递归版) 二.编程题7-2 N阶楼梯上楼问题 一.函数…...
2023 Unite 大会关于“Muse“ AI 大模型训练
Unity Muse 借助强大的 AI 能力帮助你探索、构思和迭代,其中包括纹理和精灵两项功能,可将自然语言和视觉输入转化为可用资产。 将 AI 引入 Unity Editor 中的 Muse 提供了更快将想法转化为实物的选项。您可以调整并使用文本提示、图案、颜色和草图&…...
Day28|Leetcode 93. 复原 IP 地址 Leetcode 78. 子集 Leetcode 90. 子集 II
Leetcode 93. 复原 IP 地址 题目链接 93 复原 IP 地址 本题目也是分割的典型题目,属于分割回文子串的升级版,大概的思路都是一样的,注意几点,第一个是对ip地址正确与否的条件,第二个插入逗点后,下一个子串…...
【Java 进阶篇】Jedis 操作 String:Redis中的基础数据类型
在Redis中,String是最基础的数据类型之一,而Jedis作为Java开发者与Redis交互的利器,提供了丰富的API来操作String。本文将深入介绍Jedis如何操作Redis中的String类型数据,通过生动的代码示例和详细的解释,让你轻松掌握…...
MySQL 8 配置文件详解与最佳实践
MySQL 8 是一款强大的关系型数据库管理系统,通过适当的配置文件设置,可以充分发挥其性能潜力。在这篇博客中,我们将深入探究 MySQL 8 常用的配置文件,并提供一些建议,帮助您优化数据库性能。 配置文件概览 在 MySQL …...
K8s client go 创建CRD的informer
背景 需要监听K8s中CRD资源的变动, 做出相应的处理, 需要针对 CRD资源建立informer 实现 dynamicClient 是 创建的K8s的client, 这里使用的是 Unstructured 接収的CRD的结果, 加工的时候使用了convertUnstructuredProject 加工了一下, convertUnstructuredProject 实现下面提…...
使用jmx_exporter监控Kafka
prometheus 监控 kafka 常见的有两种开源方案,一种是传统的部署 exporter 的方式,一种是通过 jmx 配置监控,本文将采用第二种方式进行配置。 项目地址: kafka_exporter:https://github.com/danielqsj/kafka_exporterjmx_exporter:https://github.com/prometheus/jmx_expo…...
什么是网络爬虫技术?它的重要用途有哪些?
网络爬虫(Web Crawler)是一种自动化的网页浏览程序,能够根据一定的规则和算法,从互联网上抓取和收集数据。网络爬虫技术是随着互联网的发展而逐渐成熟的一种技术,它在搜索引擎、数据挖掘、信息处理等领域发挥着越来越重…...
Android MemoryFile 共享内存
应用场景: 跨进程传输大数据,如文件、图片等; 技术选型: 共享内存–MemoryFile; 优点: 1. 共享内存没有传输大小限制,所以和应用总的分配内存一样(512MB)࿱…...
【lua】记录函数名和参数(为了延后执行)
需求背景 一个服务缓存玩家信息到对象里,通过对象的函数定时同步到数据库中,如果玩家掉线 清空对象,但是后续步骤导致对象数据需要变更,对象不存在, 就不方便变更了,怎么处理? 方案思考 1.临…...
2023.11.22 数据仓库2-维度建模
目录 1.数仓建设方案 2.数仓结构图,项目架构图 2.1项目架构图 2.2数仓结构图 3.建模设计 4.维度建模 什么是事实表: 什么是维度表: 数据发展模式y以及对应的模型 5.数仓建设规范 数据库划分规范 表命名规范 表字段类型规范 1.数仓建设方案 ODS: 源数据层(临时存储层) 贴…...
pycharm 创建的django目录和命令行创建的django再使用pycharm打开的目录对比截图 及相关
pytcharm创建django的项目 命令行创建的django 命令行创建项目时 不带路径时 (.venv) D:\gbCode>django-admin startproject gbCode 命令行创建项目时 带路径时 -- 所以如果有目录就指定路径好 (.venv) D:\gbCode>django-admin startproject gbCode d:\gbCode\...
【Pytorch】Visualization of Fature Maps(2)
学习参考来自 使用CNN在MNIST上实现简单的攻击样本https://github.com/wmn7/ML_Practice/blob/master/2019_06_03/CNN_MNIST%E5%8F%AF%E8%A7%86%E5%8C%96.ipynb 文章目录 在 MNIST 上实现简单的攻击样本1 训练一个数字分类网络2 控制输出的概率, 看输入是什么3 让正确的图片分…...
【目标检测】保姆级别教程从零开始实现基于Yolov8的一次性筷子计数
前言 一,环境配置 一,虚拟环境创建 二,安装资源包 前言 最近事情比较少,无意间刷到群聊里分享的基于百度飞浆平台的一次性筷子检测,感觉很有意思,恰巧自己最近在学习Yolov8,于是看看能不能复…...
笔记:内网渗透流程之信息收集
信息收集 首先,收集目标内网的信息,包括子网结构、域名信息、IP地址范围、开放的端口和服务等。这包括通过主动扫描和渗透测试工具收集信息,以及利用公开的信息源进行信息搜集。 本机信息收集 查看系统配置信息 查看系统详细信息…...
【2023.11.23】JDBC基本连接语法学习➹
1.导入jar包依赖:mysql-connector-java-8.0.27.jar 2.连接数据库! 3.无法解析类->导入java.sql.*,(将项目方言改为Mysql) JDBC,启动!! public class Main {public static voi…...
ubuntu 安装python3.13
列出 /usr/bin/ 目录下所有以 python 开头的文件和目录 ls /usr/bin/python* 添加Python软件源。您可以通过以下命令将Python的软件源添加到您的系统中 sudo add-apt-repository ppa:deadsnakes/ppa 然后运行以下命令以更新软件包列表: sudo apt-get update 安…...
OpenCV数据类型及CV_16UC1深度图ros订阅
最近用到深度图,对其数据类型及显示有些迷惑,记笔记于此: 目录 一、cv::Mat 的数据类型及转换方式1. cv::Mat 数据类型2. cv::Mat 数据类型互转2.1 OpenCV数据类型转换的函数2.2 可视化深度图像(CV_16UC1)二、cv::Mat 与 sensor_msgs::msg::Image 互转(基于cv_bridge)1.…...
华清远见嵌入式学习——网络编程——小项目
项目要求: 代码实现: 服务器端: #include <myhead.h>//定义协议包 struct proto {char type;char name[20];char text[128]; };int main(int argc, const char *argv[]) {//判断从终端输入的字符串的个数if(argc ! 3){printf("…...
分库分表、分布式数据库、MPP
分库分表、分布式数据库、MPP的区别吗? 一、MySQL分库分表和MySQL分布式集群在性能方面各有优劣,具体取决于应用场景和需求。 MySQL分库分表: 在分库分表的场景下,可以将负载分散到多个数据库实例上,从而提高整体性能…...
XML Group端口详解
在XML数据映射过程中,经常需要对数据进行分组聚合操作。例如,当处理包含多个物料明细的XML文件时,可能需要将相同物料号的明细归为一组,或对相同物料号的数量进行求和计算。传统实现方式通常需要编写脚本代码,增加了开…...
pam_env.so模块配置解析
在PAM(Pluggable Authentication Modules)配置中, /etc/pam.d/su 文件相关配置含义如下: 配置解析 auth required pam_env.so1. 字段分解 字段值说明模块类型auth认证类模块,负责验证用户身份&am…...
C# SqlSugar:依赖注入与仓储模式实践
C# SqlSugar:依赖注入与仓储模式实践 在 C# 的应用开发中,数据库操作是必不可少的环节。为了让数据访问层更加简洁、高效且易于维护,许多开发者会选择成熟的 ORM(对象关系映射)框架,SqlSugar 就是其中备受…...
GruntJS-前端自动化任务运行器从入门到实战
Grunt 完全指南:从入门到实战 一、Grunt 是什么? Grunt是一个基于 Node.js 的前端自动化任务运行器,主要用于自动化执行项目开发中重复性高的任务,例如文件压缩、代码编译、语法检查、单元测试、文件合并等。通过配置简洁的任务…...
Go 并发编程基础:通道(Channel)的使用
在 Go 中,Channel 是 Goroutine 之间通信的核心机制。它提供了一个线程安全的通信方式,用于在多个 Goroutine 之间传递数据,从而实现高效的并发编程。 本章将介绍 Channel 的基本概念、用法、缓冲、关闭机制以及 select 的使用。 一、Channel…...
Sklearn 机器学习 缺失值处理 获取填充失值的统计值
💖亲爱的技术爱好者们,热烈欢迎来到 Kant2048 的博客!我是 Thomas Kant,很开心能在CSDN上与你们相遇~💖 本博客的精华专栏: 【自动化测试】 【测试经验】 【人工智能】 【Python】 使用 Scikit-learn 处理缺失值并提取填充统计信息的完整指南 在机器学习项目中,数据清…...
Visual Studio Code 扩展
Visual Studio Code 扩展 change-case 大小写转换EmmyLua for VSCode 调试插件Bookmarks 书签 change-case 大小写转换 https://marketplace.visualstudio.com/items?itemNamewmaurer.change-case 选中单词后,命令 changeCase.commands 可预览转换效果 EmmyLua…...
aardio 自动识别验证码输入
技术尝试 上周在发学习日志时有网友提议“在网页上识别验证码”,于是尝试整合图像识别与网页自动化技术,完成了这套模拟登录流程。核心思路是:截图验证码→OCR识别→自动填充表单→提交并验证结果。 代码在这里 import soImage; import we…...
rm视觉学习1-自瞄部分
首先先感谢中南大学的开源,提供了很全面的思路,减少了很多基础性的开发研究 我看的阅读的是中南大学FYT战队开源视觉代码 链接:https://github.com/CSU-FYT-Vision/FYT2024_vision.git 1.框架: 代码框架结构:readme有…...
易语言是什么?易语言能做什么?
易语言(EPL)是什么? 易语言(Easy Programming Language,简称EPL)是一款面向中文用户的编程语言,由中国人吴涛于2000年开发,专为降低编程门槛设计。其核心特点是…...
