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

做网站需要注册哪类商标免费制作链接

做网站需要注册哪类商标,免费制作链接,长沙必去的10个景点,网站后台怎么上传图片产品今天,我们开发的AI笔试题工具,ai扁食——AI程序员笔试系统给我出了中级Golang题目,就是这道题:《请编写一个函数,接收一个整数参数n,输出n的阶乘结果》,希望我写一个函数,输出n的阶乘…

今天,我们开发的AI笔试题工具,ai扁食——AI程序员笔试系统给我出了中级Golang题目,就是这道题:《请编写一个函数,接收一个整数参数n,输出n的阶乘结果》,希望我写一个函数,输出n的阶乘结果。我开始的时候没觉得有什么问题,大概写了个实现如下:

// 循环计算n的阶乘
func factorial(n int) int {var result = 1for i := 1; i <= n; i++ {result *= i}return result
}

或者使用递归也行:

// 计算n的阶乘
func factorial1(n int) int {if n == 1 {return 1}return n * factorial1(n-1)
}

后来觉得不对,这看起来不像一个中级题目啊。

跑了个简单测试例,发现这两个实现居然在21的时候就溢出int了。

21的阶乘是-4249290049419214848
21的阶乘是-4249290049419214848

哦,果然隐藏了一个考点。

那golang其实给我们提供了一个大数库:

math.Big

Big库的循环实现版本如下:

// 计算n的阶乘,使用math/big包
func factorial3(n int) *big.Int {var result = big.NewInt(1)for i := 1; i <= n; i++ {result.Mul(result, big.NewInt(int64(i)))}return result
}

或者递归版本

// 计算n的阶乘,使用math/big包,递归实现
func factorial8(n int) *big.Int {if n == 1 {return big.NewInt(1)}var result = big.NewInt(int64(n))return result.Mul(result, factorial8(n-1))
}

最终选择提交了循环版本,递归版本在递归深度较深的时候有非必要的消耗,循环就好。

http://www.tj-hxxt.cn/news/10539.html

相关文章:

  • 靠谱高端网站设计首选专业软文平台
  • 做网站上的图片如何设定分辨率上海网站快速排名提升
  • 做网站还是做公众号河源疫情最新通报
  • 地铁三期建设规划修编_里程增至254公里 深圳市人民政府网站整合营销传播案例分析
  • 云砺信息科技做网站网站收录提交工具
  • 太原seo快速排名怎么样优化设计七年级下册数学答案
  • 上海地产网站建设沈阳关键词优化报价
  • 自做美食哪些网站搜索引擎营销是什么意思
  • 有没有做维修的网站百度推广app怎么收费
  • 怎样把域名和做的网站连接不上柳州网站建设
  • banner免费设计网站广州seo公司
  • 大红门做网站的公司买外链有用吗
  • web模板 免费下载网站sem竞价外包公司
  • 深圳市门户网站建设百度软件安装
  • 有很多长尾怎么做网站内容网站推广平台有哪些
  • 自己做的网站能备案吗如何做好网络营销?
  • 做网站先做母版页网站优化推广服务
  • 七牛云上市开鲁网站seo站长工具
  • 手机网站一键分享医院网络销售要做什么
  • 永州建设学校官方网站竞价开户公司
  • 空间网站中国2022年重大新闻
  • 做区域县城招聘网站网站建设杭州
  • 网站上挂百度广告联盟需要申请icp经营许可证吗最好用的搜索引擎排名
  • 国外最火的网站指数型基金怎么买
  • 一家做特卖的网站叫什么时候外包seo服务口碑好
  • 做钓鱼网站论坛网站关键词怎么优化到首页
  • 网站 商城 app 建设品牌营销方案
  • 手机自助建站系统品牌推广方式有哪些
  • 龙华网站建设招聘西安优化外包
  • seo北京网站推广今日郑州头条最新新闻