Go语言学习之"夏至之谜与七夕"

今天给大家瞎扯的就是我的解题过程,直接得到的答案通常是枯燥无味的,只有亲自去解题才能体会到中间的乐趣。

注:“夏至之谜”指的是一道题目,来自今年夏至当天的阿里云公众号。

“夏至之谜”部分截图

(图1,图片源于阿里云公众号)


“关键词”的格式化字符串和数字编码

(图2,图片源于阿里云公众号)


通过图1,我们能知道,谜底是由4个关键词(A、B、C、D)构成,每个关键词由格式化字符串和数字编码组成,其中第4个关键词的数字编码只有一个范围:

A:”%se%s%s%s%se”(格式化字符串)、5025370(数字编码)①

B:”%s%s”(格式化字符串)、22763(数字编码)

C:”%s%s%s%s”(格式化字符串)、13540483(数字编码)

D:”%s%si%s%snc%sn”(格式化字符串)、X(31945955~31945975,数字编码)

由以上线索可知:

A:数字编码5025370=5个字符,?e????e(关键词)

B:数字编码22763=2个字符,??(关键词)

C:数字编码13540483=4个字符,????(关键词)

D:数字编码X=5个字符,??i??nc?n(关键词)

注解:在GO语言中常用“fmt”包来进行格式化,“%s”为格式指令,用于字符串。例如:fmt.Printf("%s", string)

函数

(图3,图片源于阿里云公众号)


图3 中的函数可用可不用,除此之外没有其它更多有用信息,所以这里只是简单介绍下GO语言中函数的组成:

func functionName(optionalParameters) optionalReturnType {

body

}

func functionName(optionalParameters) (optionalReturnValues) {

body

}

func:关键字,functionName:函数名,optionalParameters:可选的参数,optionalReturnType:可选的返回类型,optionalReturnValues:可选的返回值

注意:函数使用func开头,左大括号不能另起一行。

参考信息

(图4,图片源于阿里云公众号)


图4 的信息量太大了:

关键词的数字编码进行分解后,利用字符串格式化操作可得到关键词

素数103,关系表内的value都是素数(最开始没注意到)

关键词的数字编码分解需要用到关系表,且通过图1已知每个数字编码分解后的字符个数

可能需要升序排序

素数?加密?

(图5,内容源于Google)


通过一些搜素,我了解一下跟加密相关的知识点,缓慢的学习过程中,不断展开的知识点和各种跳转链接,让我目不暇接。

在主动学习中得到的进步是让人快乐的,但是……“我要干什么来着?”

我发现自己掉坑里了……这TMD就是个递归算法。

让我一个人待一会儿,我想静静……

掉坑里

(图6,内容源于互联网)


曾哥说过成功三大要素:“第一,坚持;第二,不要脸;第三,坚持不要脸。”

精辟!我非常认同他的第一观点……

在通过重新查阅题目和查找资料的过程中,我找到了突破口。


素数相乘

(图7,内容源于Google)


虽然这个搜索依旧没给我答案,但是脑洞大开的我有了个想法,于是……

(同时回想到了之前的那个关系表,似乎有些特殊之处……)

于是我这样:

然后这样:

最后这样:

注解:

存在于第一行,用于指定包名

导入依赖包,上图导入的依赖包是“fmt”,前文对“fmt”有简单介绍

声明并初始化变量,变量声明的格式为:var name type

Go语言的保留函数,不接受任何参数,也不返回任何结果,不需要显示调用,可自动执行。可简单理解为程序运行时第一个执行的函数(实际上不是)

“for”循环,这里取列表“codes”内的每个元素,“index”赋予“_”(直接被丢弃),item赋予“code”

另一种初始化变量的方式,在编译时会根据value自动推导其类型

内置函数“append”在这的作用是将变量“key”追加到“list”中

“\n”:换行,“\t”:制表符,“%d”:十进制表示

……贝贝友情走错片场……

正解

现在,前3个关键词已经被求出:

welcome to join

第4个关键词虽然相比前3个会稍有麻烦,但相差不大,有兴趣的可以自己尝试。

注意:

为了方便阅读,这里不是最优写法,处女座请出门左转,谢谢

排序用的是标准库里的“sort”包……

懒癌犯了……

不写了……

再凑一行……

搞定……


本文作者:许鑫鑫(点融黑帮),目前就职于点融网DevOps部门,负责运维+开发,爱好电脑和足球。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,686评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,668评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 158,160评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,736评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,847评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,043评论 1 291
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,129评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,872评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,318评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,645评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,777评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,470评论 4 333
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,126评论 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,861评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,095评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,589评论 2 362
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,687评论 2 351

推荐阅读更多精彩内容