目录
主角:诸葛亮
历史角色 (真实存在)
简介:诸葛亮 (181年—234年10月8日),字孔明,号卧龙,琅琊阳都 (今山东省沂南县)人,三国时期蜀汉丞相,中国古代杰出的政治家、军事家、文学家、发明家。
诸葛亮散文代表作有《出师表》《诫子书》等。曾发明木牛流马,孔明灯等,并改造连弩,叫做诸葛连弩,可一弩十矢俱发。诸葛亮一生 ”鞠躬尽瘁、死而后已“,是中国传统文化中忠臣与智者的代表人物。
游戏角色 (王者荣耀)
介绍:
职业:法师 种族:人类 定位:突袭法师 身高:183cm 特长:爆发/收割 能量:魔道 时期:后期 城市:益城 势力:蜀 身份:属地军师
博主也算是王者老玩家了,诸葛亮这个英雄玩的也还是蛮多,算是属于比较强势的那一类。游戏玩的早,皮肤少不了,更何况是自己喜欢的英雄,所以诸葛亮的黄金分割率刚出的时候我就买了,是真的香!(上边的海报就是黄金分割率)
皮肤的魅力还远远不止于此,还有专属的台词语音,现在也让大家来感受一下。
【王者荣耀】黄金分割率诸葛亮台词语音
博主最喜欢的几句:
- 发明了一种美妙的证法,可惜这里空白太小写不下
- 世上最浪漫的联谊,是与你共同解答微分几何题
- 缺乏逻辑、演绎和归纳,你证明不了自己的可爱
- 完美的几何学者,以斐波那契数列分割战场
- 一条线分为两段,其中一部分对于全部之比等于另一部分对于该部分之比,这 就是黄金分割!
斐波那契数列
介绍:斐波那契数列 (Fibonacci sequence),又称黄金分割数列。因数学家莱昂纳多·斐波那契 (Leonardo Fibonacci)以兔子繁殖为例子而引入,故又称为”兔子数列",指的是这样一个数列:0、1、1、2、3、5、8、13、21、34……
这个数列从第3项开始,每一项都等于前两项之和。
在数学上,斐波那契数列以如下被以递推的方法定义:F(0)=0,F(1)=1, F(n)=F(n - 1)+F(n - 2)(n ≥ 2,n ∈ N*)
在现代物理、准晶体结构、化学等领域,斐波纳契数列都有直接的应用,为此,美国数学会从 1963年起出版了以《斐波纳契数列季刊》为名的一份数学杂志,用于专门刊载这方面的研究成果。
概述图:
代码实现
设计方法:返回指定位置的斐波那契数列值。
方式一:使用循环
//斐波那契数列值:0、1、1、2、3、5、8、13、21、34…… //主方法 public static void main(String[] args) { int num = fibonacciTest01(2); System.out.println("该位的斐波那契数列值为:"+num); System.out.println("-----------------------"); int num1 = fibonacciTest01(4); System.out.println("该位的斐波那契数列值为:"+num1); System.out.println("-----------------------"); int num2 = fibonacciTest01(6); System.out.println("该位的斐波那契数列值为:"+num2); System.out.println("-----------------------"); int num3 = fibonacciTest01(8); System.out.println("该位的斐波那契数列值为:"+num3); System.out.println("-----------------------"); } //返回数列指定位置的值 public static int fibonacciTest01(int n){ //定义数列第一位和第二位的变量值 int n1 = 0; int n2 = 1; //定义指定位的返回值 int num = 0; //判断并返回定义的初始值 if (n == 2 || n == 3){ return 1; } //循环从2开始,因为前两个值已经被定义 for (int i = 2; i < n; i++) { num = n1 + n2; //前两位值的和赋值给后一位 n1 = n2; //更新第一位的值 n2 = num; //更新第二位的值 } return num; }
运行结果:
方式二:使用递归
//斐波那契数列:0、1、1、2、3、5、8、13、21、34…… //主方法 public static void main(String[] args) { int num = fibonacciTest02(3); System.out.println("该位的斐波那契数列值为:"+num); System.out.println("-----------------------"); int num1 = fibonacciTest02(5); System.out.println("该位的斐波那契数列值为:"+num1); System.out.println("-----------------------"); int num2 = fibonacciTest02(7); System.out.println("该位的斐波那契数列值为:"+num2); System.out.println("-----------------------"); int num3 = fibonacciTest02(9); System.out.println("该位的斐波那契数列值为:"+num3); System.out.println("-----------------------"); } //返回数列指定位置的值 public static int fibonacciTest02(int n){ //判断并返回定义的初始值 if (n == 1) { return 0; } else if (n == 2 || n == 3) { return 1; } else { //循环调用本方法,返回前两位的和就是此位的值 return fibonacciTest02(n - 1) + fibonacciTest02(n - 2); } }
运行结果:
方式三:使用数组
//斐波那契数列:0、1、1、2、3、5、8、13、21、34…… //主方法 public static void main(String[] args) { int num = fibonacciTest03(4); System.out.println("该位的斐波那契数列值为:" + num); System.out.println("-----------------------"); int num1 = fibonacciTest03(6); System.out.println("该位的斐波那契数列值为:" + num1); System.out.println("-----------------------"); int num2 = fibonacciTest03(8); System.out.println("该位的斐波那契数列值为:" + num2); System.out.println("-----------------------"); int num3 = fibonacciTest03(10); System.out.println("该位的斐波那契数列值为:" + num3); System.out.println("-----------------------"); } //返回数列指定位置的值 public static int fibonacciTest03(int n) { //获取要查找值的位置,跟2比较取最大值 int len = Math.max(2,n); //创建获取最大值长度的数组 int[] arr = new int[len]; //初始化第一个和第二个值 arr[0] = 0; arr[1] = 1; //循环从2开始,因为前两个值已经被定义 for (int i = 2; i < n; i++) { //第三个值等于前两个值的和 arr[i] = arr[i - 1] + arr[i - 2]; } //因为数组是从零开始的,所以返回数组值的下标要减一 return arr[n - 1]; }
运行结果: