地盘划分 ——朴素递归算法与优化版
#include<iostream>
using namespace std;
int z(int a,int b)
{int s;if(a==b)return 1;else if(a>b){a=a-b;s=z(a,b)+1;return s;}else{b=b-a;s=z(a,b)+1;return s;}
}int main()
{int a,b,s;cin>>a>>b;s=z(a,b);cout<<s;return 0;
}
初始想法:a*b=比较小的数² +m²+n²+……然后求这些个数之和
但是这种递归互相减就可以解决
这种递归特点:当出现a>b就可以反复互相减,也就是说”所有情况都是一种情况“
棋子的特点:K+1后可以转化为之前的情况,之前的情况可一直追加到4
小结:每次递归开始一个新的局面,之前的局面解决后,返回一个值,然后最开始的递归得到结果
#include<iostream>
using namespace std;
int z(int a,int b)
{int s;if(a>b){if(a%b==0){s=a/b ;return s; //a/b;}else{s=z(b,a%b)+a/b; return s;//return a/b+b/(a%b) 这样就涉及到了如果还不能整除怎么办//于是想到了,可以运用递归,反正就是相同的规则来回用就是了 }}else if(a==b)return 1;else{if(b%a==0){s=b/a;return s; }else{s=z(a,b%a)+b/a; return s;}}} int main(){int a,b,s;cin>>a>>b;s=z(a,b);cout<<s;return 0;}
小结:遵循一个规则反复用,直到最底层(到了return 某个值或无无递归)无法递归。
反思:反复的减,再减,再减哪赶得上整除和余数呢?
再优化:如果a<b则ab互换。可以省去ab大小的讨论,反正操作流程都一样的
反思:
人的总结总是层层递进,不断凝练或者是,有了新的侧重点(自己觉得重要的地方)。
地盘划分 ——朴素递归算法与优化版相关推荐
- 迪杰斯特拉算法(dijkstra)_朴素版_堆优化版
文章目录 Dijkstra算法 ①朴素版(适用于稠密图) 具体实现 ②堆优化版 具体实现 Dijkstra算法 适用于单源最短路且边权都为正数 例:输入有向图/无向图,输出n号点到1号点的最短距离 ① ...
- PAT甲级1003 Emergency Dijkstra算法(堆优化版/朴素版)
前言 最近花了很多的时间在写JAVA项目上面,疏忽了算法和数据结构的学习.最近突然醒悟基础更为重要,打算从今天开始每天抽出一些时间做下PAT甲级的题目.现有题库的前两题很简单,从第三题开始吧. 题 ...
- 转 FTP搜索引擎的设计与实现(优化版)
width="336" height="280" src="http://www.zealware.com/csdnblog336280.html&q ...
- 堆优化版迪杰斯特拉(Dijkstra)算法简单分析
堆优化版迪杰斯特拉算法: 优化原理: 上面的朴素版迪杰斯特拉算法主要缺陷是,每当找到一个最短路径,如果需要找下一个最短路径,就需要在完成松弛操作之后,遍历dist数组,寻找其中的最小值.遍历dist数 ...
- c++ 堆优化版dijkstra 代码实现
dijkstra是图论中解决最短路问题的重要算法之一,必须熟练掌握 dijkstra用于解决单源最短路问题,要求图中必须不存在负边权 朴素dijkstra的时间复杂度为O(n^2),堆优化版dijks ...
- Java 小项目——字符界面收银台(优化版)
目录 1. 前言 2. 功能实现 3. 功能分析 4. 模块划分 5. UML图 6. 使用技术 7. 代码 1. 前言 三个月前,我就写过这个项目的低级版.之前是利用数组进行商品的存储,所以存在商品 ...
- AcWing 850. Dijkstra求最短路 II【最短路】【堆优化版Dijkstra】
AcWing 850. Dijkstra求最短路 II 一.题目链接 二.题目分析 (一)算法标签 (二)解题思路 三.AC代码 四.其它题解 一.题目链接 AcWing 850. Dijkstra求 ...
- 堆优化版dijkstra算法:AcWing 850. Dijkstra求最短路 II
堆优化版dijkstra算法分析: 朴素版dijkstra的时间复杂度为O(n^2),主要瓶颈在于第1步的寻找全局最小值的过程. 可以用小根堆(C++STL priority_queue)对dist数 ...
- 算法优化:递归算法的优化策略
算法优化:递归算法的优化策略 在处理算法问题时候,用的非常多的一种策略就是递归算法了.但是递归算法虽然简单有效,但是该算法的算法效果总是有点差强人意.本文主要讲述从两个方向优化递归算法,希望本文能给读 ...
最新文章
- ae中合成设置的快捷键_AE项目工作流程讲解及项目与合成设置
- GitHub宣布推出Electron 1.0和Devtron,并将提供无限制的私有代码库
- Linux一键安装Lnmp
- kotlin 小数位数_Kotlin程序生成4位数OTP
- python维度变换_Python NumPy用法
- UVa 1605 (构造) Building for UN
- tensorflow学习之(十一)RNN+LSTM神经网络的构造
- Java 将控制台输出打印 输出到本地文件
- Excel教程:这三个excel筛选技巧,你肯定没用过 -Excel入门
- 4.3.3 风管翻模
- 高校舆情监控系统建设(TOOM)如何做好教育行业舆情监控方案?
- 肿瘤细胞膜纳米载体|HL-7702正常肝细胞膜复合纳米脂质体|Hep3B肝癌细胞膜包覆纳米载体
- 缅甸人嫁中国人,户口好办么?
- 双相不锈钢S32750(2507)机械性能
- 初学Python需要安装哪些软件?
- iOS 开发 带区号的城市三级联动(xml解析)
- Unity3D脚本:Unity制作连连看脚本
- 使用 JavaScript 从字符串中提取数字
- Cron表达式及SpringBoot定时任务使用简介
- mac下创建第一个flutter项目以及遇到的问题
热门文章
- 手机屏幕常见故障_手机测试常见问题总结!
- java面试笔试题50道及答案
- matlab调整文字方向,MATLAB改变ylabel文字方向以及截边
- thinkpad重装系统不引导_联想电脑重装系统无法引导原因及解决方法
- 计算机cpu型号有,intel cpu有多少种型号
- 【路由篇】01. 修改密码 ❀ 1900 ❀ CISCO 路由器
- tomcat8.5集群修改端口,发生临时 dns 错误,请尝试刷新页面
- ios 渐变透明背景_PS教程:通道抠图技巧换背景案例
- excel空白单元格自动下下填充上一个单元格的值
- Mysql数据库 汉字转拼音全拼