csharp高级练习题:Geohashing【难度:3级】--景越C#经典编程题库,不同难度C#练习题,适合自学C#的新手进阶训练

本文介绍了如何实现C#中的Geohashing算法,这是一个针对C#编程者的高级练习题目,难度级别为3。算法基于xkcd的漫画提出,包括将日期与道琼斯指数结合,经过MD5哈希处理,最后转化为地理坐标的过程。
摘要由CSDN通过智能技术生成

csharp高级练习题:Geohashing【难度:3级】:

实现xkcd提出的[Geohashing算法](https://xkcd.com/426/)。

![Geohashing算法](https://imgs.xkcd.com/comics/geohashing.png)

具体来说,给定Dow开头和日期对象(可选),使用以下步骤返回geohashing坐标(改编自[explainxkcd](https://www.explainxkcd.com/wiki/index.php/426) :_Geohashing),稍加修改):

1.获取提供的日期并在UTC时间以“yyyy-mm-dd-”格式转换,然后附加道琼斯工业平均指数的最新开仓价值(作为参数提供)。所提供的道指开盘将始终精确到2位小数,但如果它小于2位小数,则在右侧填充0(“12345 => 12345.00”)。如果未提供日期,请改用当前时间。
2.将此字符串传递给MD5算法,并输出为十六进制值。
3.将哈希值分成两个16个字符的一半,将每一半视为基数为16的十进制扩展(通过在前面附加“0”,并将它们转换回基数10,舍入到6个小数位。
4.将结果坐标作为数组返回。

提供了一个直接来自漫画的示例案例:

 日期:2005-05-26,道指开盘:10458.68
yyyy-mm-dd-dow:2005-05-26-10458.68
MD5:db9318c2259923d08b672cb305440f97 => db9318c2259923d0 | 8b672cb305440f97
坐标(HEX):[0.db9318c2259923d0,0.8b672cb305440f97]
坐标(DEC):[0.857713,0.544543]  
注意:您不必担心30W时区规则。 ## 最佳答案合集(多种解法): [点击查看答案](http://dd.ma/QvwQcw1n) ## 更多关联题目: [csharp高级练习题:与伯努利的数字相处【难度:3级】--景越C#经典编程题库,不同难度C#练习题,适合自学C#的新手进阶训练](https://blog.csdn.net/weixin_45444821/article/details/100013284) [csharp进阶练习题:简单的乐趣#171:获得糖果位置【难度:2级】--景越C#经典编程题库,不同难度C#练习题,适合自学C#的新手进阶训练](https://blog.csdn.net/weixin_45444821/article/details/100013334)









## 免责申明: 本博客所有编程题目及答案均收集自互联网,主要用于供网友学习参考,如有侵犯你的权益请联系管理员及时删除,谢谢 题目收集至https://www.codewars.com/
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值