抽象的算法0.1.2版本

devtools/2024/9/24 19:53:08/

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

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

斐波那契数列

斐波那契数列(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/devtools/16495.html

相关文章

BGP的路径属性

路径属性 l每条BGP路由都拥有多个的路径属性,有些是必须携带的,有些是可选添加的 lBGP的路径属性将影响最优路由的选择 lBGP路径属性是描述路由的一组参数,BGP根据路由的属性选择最佳路由,可以人为置值,以便执行路由…

springboot+Vue实现分页

文章目录 一、后端二、前端 今天开发的有一个场景就是需要从远程ssh服务器上加载一个文件展示到前端,但是一次性拉过来有几万条数据,一下载加载整个文件会导致前端非常非常的卡,于是要使用分页解决,我之前看过的有mybatis的分页查…

力扣---填充每个节点的下一个右侧节点指针 II

给定一个二叉树: struct Node {int val;Node *left;Node *right;Node *next; } 填充它的每个 next 指针,让这个指针指向其下一个右侧节点。如果找不到下一个右侧节点,则将 next 指针设置为 NULL 。 初始状态下,所有 next 指针都…

时间默认显示当前日期及系统时间

要将 xtdsSj 绑定到当前日期和系统时间&#xff0c;你可以在组件的 data 中初始化 xtdsSj 属性为当前日期及系统时间的字符串。然后&#xff0c;在组件创建时更新 xtdsSj&#xff0c;确保它始终显示当前日期和系统时间。 1.系统读数时间默认显示当前日期及系统时间 <templa…

【C++题解】1043. 行李托运价格

问题&#xff1a;1043. 行李托运价格 类型&#xff1a;分支 题目描述&#xff1a; 某车站行李托运收费标准是&#xff1a; 10 公斤或 10 公斤以下&#xff0c;收费 2.5 元&#xff0c;超过 10 公斤的行李&#xff0c;按每超过 1 公斤增加 1.5 元进行收费。 试编一程序&#x…

linux第八章 git连接本地仓库和gitee

&#x1f436;博主主页&#xff1a;ᰔᩚ. 一怀明月ꦿ ❤️‍&#x1f525;专栏系列&#xff1a;线性代数&#xff0c;C初学者入门训练&#xff0c;题解C&#xff0c;C的使用文章&#xff0c;「初学」C&#xff0c;linux &#x1f525;座右铭&#xff1a;“不要等到什么都没有了…

MySQL中explain的用法

执行结果各字段的含义 EXPLAIN SQL语句 如&#xff1a; EXPLAIN SELECT * FROM test 执行结果&#xff1a; 列名描述id在一个大的查询语句中每个SELECT关键字都对应一个 唯一的idselect_typeSELECT关键字对应的那个查询的类型table表名partitions匹配的分区信息type针对单表…

linux环境下的MySQL UDF提权

linux环境下的MySQL UDF提权 ##1. 背景介绍 ###UDF UDF&#xff08;user defined function&#xff09;用户自定义函数,是MySQL的一个扩展接口&#xff0c;称为用户自定义函数,是用来拓展MySQL的技术手段&#xff0c;用户通过自定义函数来实现在MySQL中无法实现的功能。文件…