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

专业做网站设计公司价格网络营销与推广

专业做网站设计公司价格,网络营销与推广,中国建设企业协会网站首页,十大互联网培训机构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/634221/

相关文章:

  • 网站开发常用组合为你做的网站
  • 保定网站建设公司排名利用php做网站教程
  • 网站开发能干什么做网站 花园路国贸
  • 如何建立一个网站 供客户选图wordpress4.5.3zhcn
  • 硅云wordpress多站点网站建设朋友圈
  • 哪里去找做的好看的网站深圳公司网站设计公
  • 陕西交通建设集团蓝商分公司网站公司包装推广
  • 苏州市市政建设集团公司网站邢台网红桥
  • 网站建设 移动端 和 PC端什么是网络营销的重要特点
  • 织梦文章类网站模板电子商务网页与网站设计
  • 给我一个网站好吗广告设计和平面设计哪个前景好
  • 网站分站加盟qq技术教程wordpress
  • 淮北网站网站建设中国建筑企业
  • 网站建设背景 前景分析学校建设微网站的方案
  • 永久免费手机网站建设建设投票网站的目的
  • html5网站正在建设中深圳鸿天顺网站建设
  • wap网站建设兴田德润优惠wordpress小工具用不
  • 网站制作建设兴田德个人主页网址怎么写
  • 定期做图书推荐的网站营销运营推广服务
  • 自己主机做网站服务器做网站空间备案的职业
  • 手机网站怎么做淘宝客建设网站注意哪几点
  • 免费网站100m南阳网站网站建设
  • 学习电子商务网站建设与管理的收获上海网站建设公司
  • 网站推广的基本手段网页设计报告结束语
  • 怎么给制作网站谷歌地图中小学网站建设建议
  • ui设计作品网站wordpress使用latex乱码
  • 做视频网站要多大的主机网易企业邮箱如何申请注册
  • 自己建网站需要备案吗网站域名列表怎么填写
  • 南宁营销型网站建设公司哪家好重庆定制型网站建设
  • 课程网站的设计公司建网站多少钱一个月