当前位置: 首页 > news >正文

web网站开发基础培训如何优化网站

web网站开发基础,培训如何优化网站,天使投资,安卓软件app斐波那契数列是一个满足递推关系的数列,如:1 1 2 3 5 8 ... 其前两项为1,第3项开始,每一项都是其前两项之和。 用Go实现一个简单的斐波那契计算逻辑 func fib(n int) int {if n 1 || n 2 {return 1}return fib(n-1) fib(n-2) …

斐波那契数列是一个满足递推关系的数列,如:1 1 2 3 5 8 ...
其前两项为1,第3项开始,每一项都是其前两项之和。
用Go实现一个简单的斐波那契计算逻辑

func fib(n int) int {if n == 1 || n == 2 {return 1}return fib(n-1) + fib(n-2)
}

我们将其改进一下,用更简单的方式描述,同时把变量的定义提到前边,并将返回的逻辑拿到函数末尾。

func fib1(n int) int {var tmp, res, res1, res2 intif n == 1 {goto return1}if n == 2 {goto return1}tmp = n - 1res1 = fib1(tmp)tmp = n - 2res2 = fib1(tmp)res = res1 + res2return res
return1:return 1
}

继续改进

func fib2(n int) int {var tmp, res, res1, res2 intif n == 1 {goto return1}if n == 2 {goto return1}tmp = ntmp -= 1res1 = fib2(tmp)tmp = ntmp -= 2res2 = fib2(tmp)res = res1res += res2return res
return1:return 1
}

继续改进,复用变量

func fib3(n int) int {var res, res1 intif n == 1 {goto return1}if n == 2 {goto return1}res1 = nres1 -= 1res = fib3(res1)res1 = nres1 -= 2res1 = fib3(res1)res += res1return res
return1:return 1
}

继续改进

func fib4(r0 int) int {var r1, r2 intif r0 <= 2 {goto return1}r2 = r0r2 -= 1r1 = fib4(r2)r2 = r0r2 -= 2r2 = fib4(r2)r1 += r2return r1
return1:return 1
}

汇编函数接口定义

func fib5(n int) int

汇编函数实现

TEXT ·fib5(SB),$40-16MOVD R0, tmp-24(SP);MOVD R1, tmp-16(SP);MOVD R2, tmp-8(SP) // save contextMOVD n+0(FP), R0; MOVD $0, R1; MOVD $0, R2 // R0: load value from stack memoryCMP $2, R0; BLE LABEL_RETURN1 // if R0 <= 2 {goto LABEL_RETURN1}MOVD R0, R1; SUB $1,  R1 // R1 = R0 - 1MOVD R1, tmp-40(SP); CALL ·fib5(SB); MOVD tmp-32(SP), R1 // R1 = fib5(R1)MOVD R0, R2; SUB  $2, R2 // R2 = R0 - 2MOVD R2, tmp-40(SP); CALL ·fib5(SB); MOVD tmp-32(SP), R2 // R2 = fib5(R2)ADD R1, R2; MOVD R2, R0 // R0 = R1 + R2JMP LABEL_END
LABEL_RETURN1:MOVD $1, R0 // R0 = 1
LABEL_END:MOVD R0, n+8(FP) // set return value: R0MOVD tmp-24(SP), R0; MOVD tmp-16(SP), R1; MOVD tmp-8(SP),  R2 // recovery contextRET

结果:
在这里插入图片描述

http://www.shuangfujiaoyu.com/news/9307.html

相关文章:

  • 轮播网站手游cpa推广平台
  • wordpress cms怎么登陆重庆seo整站优化方案范文
  • oa办公系统如何使用windows7优化大师下载
  • 梁志天设计公司简介网站优化哪家好
  • wordpress 自定义标签云seo公司关键词
  • 网站制作 发票杭州seo网站排名
  • 模仿网站怎么做南昌网站seo
  • 展厅布置摆放设计公司安卓手机游戏优化器
  • 淘宝客导购网站建设?企业建站用什么好
  • 网站主体信息百度seo发包工具
  • 网页链接转二维码seo chinaz
  • app开发定制外包26成都关键词优化排名
  • 网站建设服务的风险网络推广员的日常工作
  • 网站建设哪家公司淘宝客怎么做推广
  • 免费自助建站软件有哪些百度统计网站
  • 个人怎么样做网站百度销售是做什么
  • 做淘客网站 备案痘痘如何去除效果好
  • 黔东南手机网站建设站长统计在线观看
  • 怎样自己做公司网站百度百度
  • 浦东网站推广表白网站制作
  • 烟台网站改版南宁网络推广平台
  • ps做图软件怎么下载网站今日热点新闻素材
  • 网站怎么做导航条什么叫关键词举例
  • 四川交投建设招标网站谷歌排名推广
  • 电脑手机自适应网站的建设外包公司怎么赚钱
  • 用wordpress做的网站有哪些怎样在百度上做免费推广
  • 沈阳网站建设哪家公司好优化一下
  • 如何做免费的网站企业品牌推广方案
  • 广西工程建设质量管理协会网站广告联盟论坛
  • 重庆建站网站企业北京网络营销推广外包