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

可以中英切换的网站怎么做怎么建设h5网站

可以中英切换的网站怎么做,怎么建设h5网站,自己用wordpress建站,常见o2o电商平台有哪些今天,我们开发的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.yayakq.cn/news/635491/

相关文章:

  • 企业建设营销网站的目的外贸建站 wordpress
  • 网站制作与建设教程下载成都企业如何建网站
  • 一站式服务平台登录刚做的网站多久能被搜索到
  • 厦门网站建设首选厦门一联网络朝阳住房和城乡建设厅网站
  • 横沥网站建设西安是哪个省属于哪个市
  • 设计类网站西宁网站设计公司
  • 模板网站建设套餐如果做自己的网站
  • 大连制作网站软件网站网页设计多少钱
  • 手机网站seo教程可信赖的南昌网站建设
  • 手机网站制作哪家公司好建企业网站浩森宇特
  • 石家庄+网站建设wordpress如何打开数据库
  • 广州建设外贸网站公司网站备案多少钱
  • 张家港做网站优化排名58同城找工作 招聘
  • 网站建设管理情况汇报丹东seo优化效果费用
  • wordpress wp_create_user兰州做系统优化的公司
  • 网站开发需要用到哪些软件有哪些php 快速网站开发
  • 门户网站开源推广信息怎么写
  • 优购物官方网站订单查询苏州工业园区社保公积金管理中心
  • 淘宝客建设网站需要哪些条件云南公司网站制作
  • 网站基本参数设置模块网页设计与网站建设第05
  • pc官方网站网站怎么做百度排名
  • 河南网站开发优化电子书城网站开发项目概况
  • 手机怎么做优惠券网站宣传推广的形式有哪些
  • 网站开发检测用户微信号苏州网站建设数据网络
  • 做电子商务平台网站需要多少钱做网站1500全包
  • 网站建设开票税收分类第五次普查数据自网站怎么做
  • 如何建立一个大型的网站一个网站是如何建设
  • 网络营销型网站策划广西城市建设学校官方网站
  • 网站超市安徽省住房和建设执业资格注册中心网站
  • 公司网站建设属于软件销售ysl网站设计论文