抽象的算法0.1.2版本

server/2024/12/22 19:56:33/

前言: 公式:(基础 + 基础 + 基础 + ...更多的基础) × 维度(影响因素) = 问题

总感觉这个公式还缺了什么,将会在后续更新!

斐波那契数列

斐波那契数列(Fibonacci sequence),又称黄金分割数列,因数学家莱昂纳多·斐波那契(Leonardo Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一个数列:1、1、2、3、5、8、13、21、34、……在数学上,斐波那契数列以如下被以递推的方法定义:F(0)=0,F(1)=1, F(n)=F(n - 1)+F(n - 2)(n ≥ 2,n ∈ N)在现代物理、准晶体结构、化学等领域,斐波纳契数列都有直接的应用,为此,美国数学会从 1963 年起出版了以《斐波纳契数列季刊》为名的一份数学杂志,用于专门刊载这方面的研究成果。

上面的文字很多,总结下来就是斐波那契数列真的很NB

你可能没听过斐波那契数列,但是黄金分割线应该听过吧,最完美的身体比例,如果还不知道呢?

没关系,看到这篇你应该~可能~大概就懂了吧!

看了两部抽象算法,你应该大概知道了我们的流程

PS:当你出现了问题,那就停下来看看原文——作者·陈

源不知名大佬并且经过作者实践验证:越是简单的失误,它所造成的影响越大

正式开始分析

找切入点——斐波那契数列以如下被以递推的方法定义:F(n) = F(n - 1)+F(n - 2)(n ≥ 2,n ∈ N)

切入点找到了,该怎么做呢?

最近发现一个重大发现,那就是计算机是看不懂这些公式中的元素的,计算机就是典型的把加减乘除运用到极致的超级计算器而已

在上面那个重大发现,我们的解题方式也出现了重大改变,通过两个例子让你清晰知道

第一个例子:教小学生算苹果——这个盘子里有三个苹果(红)和两个香蕉(黄)
一个前提:小学生只会加减乘除不知道什么是苹果什么是香蕉

小学生不知道什么是苹果和香蕉,那么我们教他不就好了

告诉他香蕉的定义是什么,苹果的定义是什么就好了!

香蕉 = 黄白色的果肉 + 黄色的果皮

苹果 = 红色的果皮 + 白色的果肉 + 核

然后小学生就能根据这些进行运算,成功算出了 3 + 2 = 5

第二个例子 大猩猩学手语

精通1000多种手语的大猩猩,临死前警示人类要保护地球_哔哩哔哩_bilibili

一个前提:大猩猩不会手语,它会的手语不是我们这种统一的

开始教的时候,先从简单开始,告诉它  吃 = 什么手语,喝 = 什么手语

到了后面它学会了1000多种

两个例子告诉我们,计算机看不懂,但是我们可以通过定义告诉它,让它懂

其实你稍微了解一下最近大火的一个工具,你会发现,它的学习过程和教小学生还有大猩猩一样,从简单开始,从容易开始,然后定义,反复锻炼

一套流程在西方那边有一本书——一万小时天才理论

再加上一个深度学习(广度和深度)就成了现在这个看似十分聪明的AI,毕竟在作者的使用过程中,我会的东西我感觉让它去写还可能为了联系上下文去做修改,不如我自己写,写简单的算法让它写我感觉没有意义,毕竟我的算法题的理解是——算法是考验一个人解决复杂问题的能力之一,如果本身没有多厉害的解决问题能力,靠ai直接解决这不利于后期的发展,而且解决问题不仅仅在于代码,还有现实,除非AI可以代替你活着

这里是在抵制ai吗?不不,时代在发展,人应该跟着时代走,除非你强大到可以改变时代,这就是那句话——强者从来不抱怨环境,一般人还是跟着环境走吧

怎么用AI,就目前作者的用法,仅仅在于搜索和翻译。。。目前还没有独特的理解,敬请期待吧

回到我们这个斐波那契数列以如下被以递推的方法定义:F(n) = F(n - 1)+F(n - 2)(n ≥ 2,n ∈ N)

该怎么实现呢?第一步告诉计算机这里面的元素有什么

我们是怎么教小学生的

文字 映射 定义

用计算机语言来说就是:标识符 映射 定义

疑问:标识符是什么?不应该是变量名吗?

因为这个问题,我百度了两天,发现了根本没有变量名这个专属名词~~~~~~~

他们口中的变量名不过是标识符的口头表达,为什么这么说呢?

标识符(标识某个实体的符号)_百度百科 (baidu.com)

看看它们在编程语言中的定义,有没有发现,那些家伙说的变量名条件和标识符的条件完全一模一样

C语言

标识符由字母(A-Z,a-z)、数字(0-9)、下划线“_”组成,并且首字符不能是数字,但可以是字母或者下划线。例如,正确的标识符:abc,a1,prog_to。

不能把C语言关键字作为用户标识符,例如if,for,while等。

标识符长度是由机器上的编译系统决定的,一般的限制为8字符(注:8字符长度限制是C89标准,C99标准已经扩充长度,其实大部分工业标准都更长)。

标识符对大小写敏感,即严格区分大小写。一般对变量名用小写,符号常量命名用大写。

标识符命名应做到“见名知意”,例如,长度(length),求和、总计(sum),圆周率(pi)……

当然,你们管它叫变量名也是没问题的,这里为了统一区分——叫他标识符

标识符 + 赋值符 + 元素定义  = 文字 映射 定义

用编程语言告诉计算机,元素1~元素4的标识符 + 赋值符 + 元素定义

        // F(n) = F(n - 1) + F(n - 2)(n ≥ 2,n ∈ N)int element_1 = n;int element_2 = n - 1;int element_3 = n - 2;boolean element_4 = n >= 2;

(n ≥ 2,n ∈ N)应该都懂吧...不懂?这就是一个条件,变量n 要大于等于 2,并且属于自然数集合

这些定义有了,那么举例试试看,变量要大于等于2,那么我们从3开始吧。。。

        int element_1 = 3;int element_2 = 3 - 1;int element_3 = 3 - 2;boolean element_4 = 1 >= 2;if (element_1 == element_2 + element_3 && element_4){System.out.println(element_1 + "是一个黄金数");}else {System.out.println(element_1 + "不是一个黄金数");}

怎么让它根据我们的输入内容计算出是不是黄金数呢

这个我知道,传入一个参数就好了

public void test3(int element_1){int element_2 = element_1 - 1;int element_3 = element_1 - 2;boolean element_4 = element_1 >= 2;if (element_1 == element_2 + element_3 && element_4){System.out.println(element_1 + "是一个黄金数");}else {System.out.println(element_1 + "不是一个黄金数");}}

这样我们的黄金数就完成了,虽然很简单

总结:

问题简单化是为了更好的行动

简单化的流程:找切入点,分割元素,组合元素


http://www.ppmy.cn/server/18324.html

相关文章

RedisTemplate-opsForStream实现消息队列,主要演示 xgroup,xreadgroup,xpending,xack,xinfo的用法

stream 更多详细命令使用&#xff0c;可查看博文redis基于Stream类型实现消息队列&#xff0c;命令操作&#xff0c;术语概念&#xff0c;个人总结等-CSDN博客1 springboot整合redis 就不多说了 2 有用到hutool工具类&#xff0c;添加下 pom 依赖 <dependency><grou…

前端兼容 适配

一、浏览器 1、内核 浏览器内核优缺点IEtrident不安全Chromewebkit -> blink速度快&#xff0c;有兼容safriwebkit有兼容firefoxgecko功能强大 耗性能Operapresto -> blinkpresto 速度快&#xff0c;有兼容 2、浏览器兼容 1、html兼容 超链接访问过后hover样式不再出…

Cocos Creator 声音管理模块SoundMgr详解

前言 Cocos Creator 是一款用于开发2D和3D游戏的跨平台游戏引擎&#xff0c;它提供了丰富的功能和工具&#xff0c;使开发者能够快速开发出高质量的游戏。在游戏开发中&#xff0c;声音是一个非常重要的元素&#xff0c;可以增强游戏的氛围和互动性。为了更好地管理游戏中的声…

3.常用的“二次”编解码方式

为什么需要“二次”编解码? 假设我们把解决半包粘包问题的常用三种解码器叫一次解码器 那么我们在项目中,除了可选的的压缩解压缩之外,还需要一层解码,因为一次解码的结果是字节,需要和项目中所使用的对象做转化,方便使用,这层解码器可以称为“二次解码器”,相应的,…

基于实现地图弹窗轮播功能及遇到的问题解决

基本使用 获取地图 geojson 数据 链接&#xff1a; 阿里云数据可视化平台 获取ECharts npm install echarts 或者是使用地址链接 <script src"https://registry.npmmirror.com/echarts/5.4.3/files/dist/echarts.min.js"></script> <script src…

详细解析什么是期权交易的获利方法

期权交易的获利方法 在期权交易之前进行充分的准备工作和风险评估是至关重要的。其中行情结构、策略方法、预期收益和风险评估&#xff0c;是期权交易成功的关键要素。它们能帮助我们更好地制定交易计划&#xff0c;控制风险&#xff0c;并追求稳定的利润。以下是对这四点的详…

各省人力资本数据集(2005-2022年)

01、数据简介 人力资本是指凝聚在劳动者身上的知识、技能和健康等要素所构成的一种资本类型。这种资本是通过投资形成的&#xff0c;包括教育、培训、实践经验、保健等方面的投入&#xff0c;以及在劳动力国内流动和移民入境等方面的投资。人力资本是经济增长和发展的重要因素…

设计模式:里氏代换原则(Liskov Substitution Principle,LSP)介绍

里氏代换原则&#xff08;Liskov Substitution Principle&#xff0c;LSP&#xff09;是面向对象设计原则的一部分&#xff0c;它强调子类对象应该能够替换其父类对象而不影响程序的正确性。换句话说&#xff0c;子类对象应该可以在不改变程序正确性的前提下替换掉父类对象。 …