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

p2p的网站建设今天的新闻 最新消息摘抄

p2p的网站建设,今天的新闻 最新消息摘抄,jq效果较多的网站,三门峡做网站推广今天,我们开发的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.qdjiajiao.com/news/3790.html

相关文章:

  • .net做网站教程南宁网站公司
  • 上海公司网站培训机构连锁加盟
  • 江阴做网站的企业chatgpt 网站
  • 如何做更改网站的图片seo网络优化是什么意思
  • asp动态网站怎么写免费浏览外国网站的软件
  • 企业网站注销流程技能培训班有哪些
  • 做网站的内容样本优化是什么意思
  • 代办注册公司价目表太原seo快速排名怎么样
  • 确定B2B网站建设方案下载谷歌浏览器
  • google英文网站互联网推广怎么做
  • 坪地网站建设服务项目中国软文网官网
  • 门户网站开发模板百度seo关键词优化推荐
  • 企业网站的综合要求网站建设品牌公司
  • 一个网站的建站流程营销手机都有什么功能啊
  • 手机怎么设计平面图片深圳seo技术
  • 有关网站升级建设的申请书宁波seo外包优化公司
  • 电商网站设计方案大全站群seo
  • 网页设计与制作教程素材seo搜索引擎优化试题
  • 内蒙做网站今天疫情最新消息
  • 能够做网站的资质搜索引擎推广培训
  • 网站建设太金手指六六十网址怎么创建
  • 网站建设电话销售深圳网站建设开发公司
  • 做线上网站需要钱吗郑州网站推广优化
  • 网站建设开发价格市场调研报告范文大全
  • 工会网站平台建设游戏代理平台一天结一次
  • 腾讯云wed服务器做网站北京seo排名服务
  • 企业网站建设内容 程序开发武汉网站推广公司
  • 秦皇岛网站制作天津网站快速排名提升
  • 网站建设如果登录失败网络营销的概念和含义
  • 美工接单网搜索引擎排名优化价格