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

阿里巴巴的网站怎么做的网站建设培训公司

阿里巴巴的网站怎么做的,网站建设培训公司,wordpress怎么做app,友情链接样式Excel 大家都用过,它的列名是用字母编号的,A 表示第一列,B 表示第二列,AA 表示第27列,AB 表示第28列等等。 现给定一个数字,如何得到列名称呢。比如输入28,输出 AB。 一开始以为就是一个简单的…

Excel 大家都用过,它的列名是用字母编号的,A 表示第一列,B 表示第二列,AA 表示第27列,AB 表示第28列等等。

现给定一个数字,如何得到列名称呢。比如输入28,输出 AB。

一开始以为就是一个简单的26进制转换,到底还是大意了,这里的每一位都是没有0的,而且能取到进制的最大值。正常26进制每一位都是0到25,但是这里却是1到26。

算法原理还是不停的取模和取余来得到每一位的值。只不过和正常的 n 进制转换不同,我们不能直接用 n 去取模和取余,而是应该用 n-1。

还是按26进制计算,假设要表示的数为 num,余数为 r,则:
n u m = n × 26 + r num = n \times 26+r num=n×26+r
其中 r r r 的范围是0到25,假设 R R R 的范围是1到26,我们将 r r r 线性映射到 R R R,并将 r r r 替换成 R R R,于是:
n × 26 + R = n u m + 1 n \times 26+R=num+1 n×26+R=num+1
我们会发现在将 r r r 替换成 R R R 的过程中, n u m num num 实际上每次都多加了1,所以在计算每一位的值时要将它减出来。

另外我们可以想一下,在取余的过程中,有两种情况:
n u m = n × 26 + r n u m = n × 26 \begin{align} num & = n \times 26 + r \\ num & = n \times 26 \end{align} numnum=n×26+r=n×26
第一种情况其实可以正常计算,第二中情况不行,因为不会出现0,所以我们需要改写一下:
n u m = ( n − 1 ) × 26 + 26 num=(n-1)\times 26 + 26 num=(n1)×26+26
但是正常取余运算算不出这个余数,怎么办呢,给 n u m num num 减去1就可以了:
n u m − 1 = ( n − 1 ) × 26 + 25 num-1=(n-1)\times 26 + 25 num1=(n1)×26+25
对于其他情况也一样,于是就统一变成了:
n u m − 1 = n × 26 + ( r − 1 ) num-1=n \times 26 + (r-1) num1=n×26+(r1)
至于多减的1,会自动补回来。

defmodule Solution do@spec convert_to_title(column_number :: integer) :: String.tdef convert_to_title(column_number) do{column_number, 26}|> Stream.unfold(fn{0, _} -> nil{n, m} -> {rem(n - 1, m) + ?A, {div(n - 1, m), m}}  end)|> Enum.reverse|> List.to_stringend
end

在 Elixir 中,我们可以通过 Stream.unfold 来构造每一位的值,连递归都不用写了,可以说是十分优雅了。


http://www.yayakq.cn/news/876608/

相关文章:

  • 网站的站外优化建设银行哪个是假网站
  • 高端外贸网站建设服装国产最好的a级suv88814
  • 网站推广方案范文山东东营市东营区邮编
  • 村级网站建设 不断增强wordpress 如何汉化主题
  • 静态网站站内搜索营销方案设计思路
  • 莱芜高端网站建设报价wordpress 百度主题
  • 外贸仿牌网站建设百度网盟推广怎么选择投放网站
  • 满亦工作室 网站建设中国近期的军事大新闻
  • 成都装饰公司网站建设域名买好怎么开始做网站
  • 邯郸做网站哪家好重庆公司建设网站
  • 网站建设实训小组总结wordpress报错
  • 自助建站还是人工建站好wordpress如何跳转页面代码
  • 京东优惠券网站怎么做购物网站模块例子
  • 网站的宣传推广用wordpress案例
  • 大连网站建设蛇皮果电子商务网站建设实训报告主要内容
  • 西城改版网站免费空间申请网站
  • p2p网站建设时间柳城网站建设
  • 中英文双语网站站点深圳网站设计精选刻
  • wordpress friday网站seo内容优化
  • 房城乡建设部门户网站租房子做民宿在哪个网站
  • 实名认证域名可以做电影网站吗闵行网页设计师
  • 大庆开发网站公司多仓库版仓库管理网站建设源码
  • 外贸网站建设的好处wordpress如何建栏目
  • 体育网站建设方案留言板网站建设总结
  • 邵阳 网站开发 招聘app商城网站开发
  • 建筑人才网官方网站中国建筑科学院有限公司认证中心深圳响应式网站建设哪家好
  • 做网站会用到的代码单词前端seo优化
  • 上市的网站设计公司wordpress 导购站模板
  • 成都php网站制作程序员h5设计平台
  • 江都城乡建设局网站水处理网站模板