猫史档案馆


【算法热身III】神秘数字?

用户:查看:1 回复:34 评论:1 创建时间:2017-02-25T16:01:37



提示:这个题目难度较高,大家有任何想法都可以在本帖聊,我会及时回复大家。


算法热身题3:


小光在代码岛上找到了一本神秘记事本,上面写着一串数字:


821663704844031998900088952434506585412275886668811喵27171479924442928230863465674813919123162824586

(具体数字可以在留言的第一条中复制)


这可能和代码岛的诞生有密切关系!仔细数数后,发现这串数字刚好是100个正整数。

在上面这个100位正整数中,连续4个数字的最大乘积是 9 × 9 × 8 × 9 = 5832。

连续10个数字的最大乘积是多少呢?

据说这100个数字对应的是一个密码,这个密码就是连续10个数字的最大乘积!


任务:

找出这个100位正整数中,乘积最大的连续10个数字。它们的乘积是多少?

用编程算法算出来以后,把答案填到下方看看你答对没有!

靠你了!

提示:

你需要用到的模块:

然后尝试这样拼一下看看有什么效果?

(记得要先新建链表呀!)


OK,这就是本次的算法热身III。

算法比赛马上开始,大家都提前热身一下!

正式答案和详细教程会在下周公布。


如果觉得太难,可以来个简单的热身题:

热身题目描述:

如果源码世界的每个星期只有六天:

星期一,星期二,星期三,星期四,星期五,星期六

今天是源码世界的星期一,

过了a的b次方后是星期几?

输入:

两个正整数a,b,中间用单个空格隔开。0 < a <= 10, 0 < b <= 10。

输出:

一个字符串,代表过a^b​天之后是星期几。



回复

上一页1 页 / 共 2下一页

小光发现的100位数字是:

821663704844031998900088952434506585412275886668811喵27171479924442928230863465674813919123162824586


点赞0


评论


~断了个弦~~断了个弦~

火钳刘明

点赞0


评论


~断了个弦~~断了个弦~

话说tc,下面那道题不是上次的题目吗……

我们做过了哎……

点赞0


评论


@迷你断弦君

下面那个题目有一点变化,每周有六天和每周有七天的区别。


你的水平应该可以试一下去解第一个题,就算不能完全解出来,我们也可以交流算法的思路。有问题随时在这个贴留言就行。



点赞0


评论


~断了个弦~~断了个弦~

对厚,我喵了……

好啊我去试试


点赞0


评论


小假LittleFalse小假LittleFalse

tc,我需要一个新积木

运算:

从1到10

链表:

链表( )的第()到()项相(加/减/乘/除)

点赞0


评论


~断了个弦~~断了个弦~

我说假猫祖,这个绝对是可以做出来的

【如果可以新建积木我还用在这里嘛】

【话说我刚刚才开始算……然后我要吃饭了……然后我必须要等到明天才能开始研究……然后我想哭……】


点赞0


评论


小假LittleFalse小假LittleFalse

我边吃边写

点赞0


评论


小假LittleFalse小假LittleFalse

一边吃,一边算,然后我的脑子冒烟了

点赞0


评论


MAloposMAlopos

哈哈哈!

点赞0


评论


~断了个弦~~断了个弦~

我刚吃完

我妈妈都不让我玩电脑了

我又记不清链表的积木

叫我记别的还好

链表这个积木栏是我自学的,我都没看到有教链表的课程

话说你有链表的课程吗推荐推荐

【话说我脑子已经着火了233】


点赞0


评论


小假LittleFalse小假LittleFalse

我的脑子去哪了...


点赞0


评论


MAloposMAlopos

点赞0


评论


~断了个弦~~断了个弦~


我的脑子喂狗了……

完了我妈又叫我下线了

谁有关于链表的课程啊?

我好像没有上链表……我的链表是自学的……


点赞0


评论


小假LittleFalse小假LittleFalse

公开课有

点赞0


评论


~断了个弦~~断了个弦~

【这个好难貌似要用到函数(然而我并没有学)】

我是这样想的:

先把数字全部分开来(就是tc叫我们弄得那个)

接着821663704844031998900088952434506585412275886668811喵27171479924442928230863465674813919123162824586

21663704844031998900088952434506585412275886668811喵27171479924442928230863465674813919123162824586

1663704844031998900088952434506585412275886668811喵27171479924442928230863465674813919123162824586

……

然后乘前十个……

不行了脑子烧掉了@#¥%……&*()()*&……%¥#@!

我先去洗碗,洗完再想想


点赞0


评论


~断了个弦~~断了个弦~

哦哦对了那个要到:

586

86

6


点赞0


评论


~断了个弦~~断了个弦~

我觉得无论是什么数都是9×9×8×9

122368976543234567876543212345678987654321是

821663704844031998900088952434506585412275886668811喵27171479924442928230863465674813919123162824586是

1385625838295431也是


点赞0


评论


ftxqgfudiftxqgfudi

61931520

这个肯定对!不对我叫你爹!

这可是我用python花了一天的时间解决的问题!


点赞0


评论


~断了个弦~~断了个弦~

刚开始解决

点赞0


评论


小假LittleFalse小假LittleFalse

楼上请给我解答方式

否则你很有可能是用了其他手段得到的答案


点赞0


评论


糖醋排骨糖醋排骨

脑子不够用啊,算法热身1我都没算出来


点赞0


评论


无可否认无可否认

我算好了,是61931520,楼上有了啊?我不是抄的!

点赞0


评论


小假LittleFalse小假LittleFalse

楼上请给我解答方式

否则你很有可能是用了其他手段得到的答案


点赞0


评论


@迷你断弦君

公开课的第11课有关于链表的一些初步知识,可以先看看。


其实如果只是算出答案是很简单的,用眼睛观察也能找到连续10个数乘积最大的情况,(然后用计算器算出来也是可以的)

这里重要的是对链表的使用,这就是基本的数据结构的运用了。


能有对“数据结构”的运用,会让你在编程道路上前进一大步,很多人可能以为会写Python和Java代码是一个进步,其实不是的,“数据结构”是你在编程道路上需要前进的方向:数组,链表,二叉树,AVL树,图……然后,就是“算法”:深度搜索算法,最小生成树,贪婪算法,线性规划……


如果你们能在这几年的时间掌握这些知识,少年们,我们是可以改变一个喵的。

现实的角度而言,你会成为全世界IT公司梦寐以求的人才,如果你愿意,编程猫会给你递上【 百万年薪】的录用通知书,Google,苹果,腾讯,阿里巴巴这些公司也同样会为你打开大门。


更可能的是,你会拥有创造一个完全属于自己事业的可能性。


而我相信,你们一定会找到自己的路,到那个时候,你会成为改变那个喵的人的。


深夜说多了,仅仅是希望能在你们成长的路上帮到你。


期待各位把这个题目解答出来。

如果有解答出来的或者有什么想法的,都可以把模块截图放上帖子。

点赞0


评论


ftxqgfudiftxqgfudi

我拿python算的,具体的很多内容都是先学习的,有一些我也不太懂,就不献丑了。

点赞0


评论


~断了个弦~~断了个弦~

@tc

我昨天想出了算法,但是我不知道怎么在编程猫上用积木拼出来

而且我也没有学别的编程语言,所以只能干等233

我会去瞅瞅公开课,努力学习!(励志)


点赞0


评论


@于念一

没问题,我们可以一起讨论怎么实现算法。

@迷你断弦君

可以把你的想法写下来,我们一起交流。(不管对错,都是收获)

另外,用文字的形式把算法写下来(但是这些代码或模块不能实际应用)的这种形式,我们称之为:伪代码。

(伪代码不是一个不好的词,相反,它代表了算法中真正重要的部分:算法逻辑)

伪代码的定义是:


“使用伪代码的目的是使被描述的算法可以容易地以任何一种编程语言实现。因此,伪代码必须结构清晰、代码简单、可读性好,并且类似自然语言。”

在大学的计算机学习中,我们会经常看到伪代码。

点赞0


评论


@假·猫老祖

可以先想想怎么算连续十个数字的乘积


@糖醋排骨

热身1的难度比热身2的高,可以试一下这次放在下面的热身题


@无可否认

如果解决了或者有思路,写下来回帖我们一起讨论啊,无论对错,都是收获。


点赞0


评论


鱼肚白鱼肚白

这个怎么做啊?

点赞0


评论