蓝桥杯基础算法-递归

代码简洁,但涉及到的运算,会随着递归层数的增加成指数级增长

路分析:第20行20列位于45度这条线上

这条线上的数字是1 5 13 25 41...两数之差:4 8 12 16

--->每一个都是在前面的基础上+4,可以用递归或者循环

public class demo1{public static void main(String[] args){System.out.println(snack(20));}public static int snack(int n){if(n==1){return 1;}return snack(n-1)+4*(n-1);}
}

递归与循环的关系?

一道题,可以用递归解答。

1.可以换成循环解决吗-->可以-->代码量变多,运算资源(时间复杂度)

2.若发现题目用递归运行时间超出限制-->换循环 && 加字典(即动态规划)

--->加字典eg:

斐波那契数列:fn(5)=fn(4)+fn(3) fn(4)=fn(3)+fn(2)[将fn(3)和fn(2)存起来] fn(3)可以直接得出

辗转相除法:求最大公约数

1.两个整数的最大公约数等于其中较小的数和两数相除余数的最大公约数(gcd)

2.gcd(a,b)=gcd(b,a%b) (前提:a>b); 当b的值为0时,a就是要求的最大公约数

eg:

12&4=4&0=4

10&7=7&3=3&1=1&0=1

输入两个数,求最小公约数

法1:循环解法

public class demo2{public static void main(String[] args){//a>b  gcd(a,b)=gcd(b,a%b)int a=scan.nextInt();int b=scan.nextInt();while(b!=0){int c=a%b;a=b;b=c;}System.out.println(a);}
}

法2:递归解法

public class demo3{public static void main(String[] args){Scanner scanner=new Scanner(System.in);int a=scanner.nextInt();int b=scanner.nextInt();int zz=zz(a,b);System.out.println(zz);}public static int zz(int a,int b){if(b==0){return a;}int c=a%b;return zz(b,c);}
}

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

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

相关文章

通过学习opencv图像库编程借助第三方库函数完成一个综合程序设计

通过学习opencv图像库编程借助第三方库函数完成一个综合程序设计 1) 编译命令解释: 编译命令: gcc test1.cpp -o test1 pkg-config --cflags --libs opencv这条命令包含了以下部分: gcc test1.cpp -o test1: gcc 是 GNU 编译器集合&#…

第十四届蓝桥杯大赛软件赛国赛C/C++研究生组

研究生C国赛软件大赛 题一:混乘数字题二:钉板上的正方形题三:整数变换题四:躲炮弹题五:最大区间 题一:混乘数字 有一点像哈希表: 首先定义两个数组,拆分ab和n 然后令n a*b 查看两个…

系统与网络安全------网络通信原理(2)

资料整理于网络资料、书本资料、AI,仅供个人学习参考。 物理层解析 物理层概述 物理层是TCP/IP模型的最底层物理层数据传输提供稳定的物理连接 物理层功能 定义设备的物理连接的标准和特性,比如接口形状,大小定义电气特性,高低…

内容中台的数字化管理核心是什么?

数字化整合与系统协同 现代企业的内容管理正经历从分散式架构向数字化整合的范式转变。通过将内容管理系统与文档管理技术深度耦合,组织能够打破数据孤岛,实现跨部门、跨平台的资源互通。例如,基于元数据分类的标准化体系,不仅提…

Python爬虫第二战(使用xpath爬取网站数据)

本文是我在学习过程中记录学习的点点滴滴,目的是为了学完之后巩固一下顺便也和大家分享一下,日后忘记了也可以方便快速的复习。 使用xpath爬取猪八戒网站数据 前言 前言 今天学习的主要是关于Python使用xpath来爬取猪八戒网的网页知识的理解和应用 #1.获…

进程同步和进程互斥的区别

如大家所了解的,进程互斥是由互斥资源引起的,即各进程之间共享互斥资源的使用权,这种竞争没有确定的必然联系,哪个进程竞争到互斥资源的使用权,则该资源就归哪个进程使用,从而获得所需资源的进程就可以获得…

ArkTS语言基础之函数

前言 臭宝们终于来到了ArkTS基础之函数,今天我们来学习一下ArkTS的函数的相关知识,上一节中也有一些函数的基础知识。 函数声明 函数声明引入一个函数,包含其名称、参数列表、返回类型和函数体,在下面的例子中,我们声明了一个名…

redis中的hash

Redis中的hash是什么 Hash: 哈希,也叫散列,是一种通过哈希函数将键映射到表中位置的数据结构,哈希函数是关键,它把键转换成索引。 Redis Hash(散列表)是一种 field-value pairs(键值对&#x…

弹簧质点系统(C++实现)

本文实现一个简单的物理算法:弹簧质点系统(Mass-Spring System)。这是一个经典的物理模拟算法,常用于模拟弹性物体(如布料、弹簧等)的行为。我们将使用C来实现这个算法,并结合链表数据结构来管理…

领域大模型

领域技术标准文档或领域相关数据是领域模型Continue PreTrain的关键。 现有大模型在预训练过程中都会加入书籍、论文等数据,那么在领域预训练时这两种数据其实也是必不可少的,主要是因为这些数据的数据质量较高、领域强相关、知识覆盖率(密度…

Wincc项目被锁定无法打开

Wincc项目被锁定无法打开 解决方法 解决方法 一般这种情况是因为项目打开的时候直接关机导致的。 删除项目文件夹的ProjectOpened.lck的文件夹即可 然后即可正常打开项目

SpringBoot3笔记

简介: springboot整合了springframework,整合了许多配置,让我们能够快速创建一个以springframework为基础的项目。 问题: 到目前为止,你已经学习了多种配置Spring程序的方式。但是无论使用XML、注解、Java配置类还是…

DeepSeek和文心一言的区别

文章目录 1.开发公司:2.应用场景:3.训练数据:4.模型架构:5.技术特点:6.语言风格:7.开源性:8.界面与用户体验: 1.开发公司: DeepSeek 由杭州深度求索人工智能基础技术研究…

Windows 10 安装Mysql 8

安装准备 下载 MySQL Windows ZIP版(无安装程序): 进入官网:https://dev.mysql.com/downloads/mysql/ 选择 Windows → 下载 ZIP Archive,例如: mysql-8.0.34-winx64.zip 如果你的电脑没有安装 VC Redi…

ARM分拣机vs传统PLC:实测数据揭示的4倍效率差

在苏州某新能源汽车零部件仓库,凌晨3点的分拣线上依然灯火通明。8台搭载ARM Cortex-A72处理器的智能分拣机正在以每秒3件的速度处理着形状各异的电池包组件,它们通过MES系统接收订单信息,自主规划最优路径,将不同规格的零部件精准…

使用python访问mindie部署的vl多模态模型

说明 今天使用mindie1.0部署了qwen2_7b_vl模型,测试过程出现一些问题,这里总结下。 问题1:transformers版本太低 报错信息: [ERROR] [model_deploy_config.cpp:159] Failed to get vocab size from tokenizer wrapper with ex…

vscode 跳转失败之c_cpp_properties.json解析

{"configurations": [{"name": "Linux", // 配置名称,对应当前平台,VS Code 中可选"includePath": ["${workspaceFolder}/**", // 包含当前工作区下所有文件夹的头文件(递归&…

飞速(FS)解决方案验证实验室搬迁升级,赋能客户技术服务

飞速(FS)解决方案验证实验室近日顺利完成搬迁升级,标志着飞速(FS)在解决方案可行性验证、质量保障以及定制化需求支持方面迈上新台阶,进一步提升了产品竞争力和客户信任度。 全新升级的实验室定位为技术验证…

安装kerberos认证的cdh环境

1、服务端安装 1.1 安装wget yum -y install wget 由于本地已安装过wget,所以显示Nothing to do 1.2 进入 home 目录 cd /home 1.3 下载centos6.7.iso文件,并挂载 wget https://archive.kernel.org/centos-vault/6.7/isos/x86_64/CentOS-6.7-x86_64…

MySQL基础 [六] - 内置函数+复合查询+表的内连和外连

内置函数一般要用select调用 内置函数 日期函数 current_date函数 current_date函数用于获取当前的日期。如下: current_time函数 current_time函数用于获取当前的时间。如下: now函数 now函数用于获取当前的日期时间。如下: date函数 dat…