魔法石的诱惑

题目: 传说有一块高阶魔法石,它有一个特征那就是它的重量进行阶乘运算后末尾有几个0就拥有同等重量普通魔法石几倍的魔法力。例如 5! = 5 x 4 x 3 x 2 x 1 = 120而120包含一个0,所以拥有同等重量的普通魔法石1颗你的任务就是要找到最小的自然数N,使得N!在十进制下包含Q个零 输入格式: 一个数 Q (0 <= Q <= 10^8) 输出格式: 如果无解则输出”No solution”,否则输出N 输入例子: 2 输出例子: 10 实现思路 分治算法数学方法 分治算法 本题中,N!随着N的增加,0的个数也在增加,所以这是一个单调递增序列,用分治二分法很好解决那么如何判断N!有多少个零呢?参考公式$N/5 + N/(5^2) +...

阅读全文

网易有道2017内推编程题2道

前言其实本文的目的不全是这俩道题的解法上,而是加深对Node的基础模块readline的使用,先上题 1.洗牌题目: 洗牌在生活中十分常见,现在需要写一个程序模拟洗牌的过程。现在需要洗2n张牌,从上到下依次是第1张,第2张,第3张一直到第2n张。首先,我们把这2n张牌分成两堆,左手拿着第1张到第n张(上半堆),右手拿着第n+1张到第2n张(下半堆)。接着就开始洗牌的过程,先放下右手的最后一张牌,再放下左手的最后一张牌,接着放下右手的倒数第二张牌,再放下左手的倒数第二张牌,直到最后放下左手的第一张牌。接着把牌合并起来就可以了。例如有6张牌,最开始牌的序列是1,2,3,4,5,6。首先分成两组,左手拿着1,2,3;右手拿着4,5,6。在洗牌过程中按顺序放下了6,3,5,2,4,1。把这六...

阅读全文

贝塞尔曲线的数学原理

我相信所有射鸡师们都知道贝塞尔曲线是什么,习惯用PS的会用钢笔工具,习惯用AI的会用贝塞尔,因为它所绘制出来的曲线很容易受我们控制也很美观,那么接下来我们来深入了解一下这个贝塞尔曲线的数学原理和公式。 在数学中,贝塞尔又分为很多种,一阶贝塞尔曲线、二阶贝塞尔曲线、三阶贝塞尔曲线····等等等等,除了一阶贝塞尔是直线外剩下的多阶贝塞尔都是抛物线。而它又由起点、终点和控制点组成,根据控制点的个数和位置决定这个曲线的最终样式。 原理我们先在一个平面内任选 3 个不共线的点,依次用线段连接。如图 在第一条线段上任选一个点 D。计算该点到线段起点的距离 AD,与该线段总长 AB 的比例。 根据上一步得到的比例,从第二条线段上找出对应的点 E,使得 AD:AB = BE:BC。 连接这两点 DE。...

阅读全文

采用矩阵+深度优先算法解决迷宫问题

所谓深度优先算法,百科的解答是这样的 深度优先搜索算法(Depth-First-Search),简称DFS,是搜索算法的一种。是沿着树的深度遍历树的节点,尽可能深的搜索树的分支。当节点v的所有边都己被探寻过,搜索将回溯到发现节点v的那条边的起始节点。这一过程一直进行到已发现从源节点可达的所有节点为止。如果还存在未被发现的节点,则选择其中一个作为源节点并重复以上过程,整个进程反复进行直到所有节点都被访问为止。属于盲目搜索。 通俗的说,就是足够“深”的遍历树的所有节点分支并且遍历过的节点不会再去访问,很适合做网络爬虫,你懂得^ ^ 而迷宫问题也是数据结构里面一道经典的问题了,首先我们先用矩阵创建一个迷宫; 1234567const arr = [ [0,0,0,1,0], [0,...

阅读全文

网易2017秋招编程题集合+自己的结果

前言周末利用无聊的时间见识了一下网易的秋招编程题也尝试用javascript来实现,总体的难度对我来说简直是变态-_-!,不过最后总算在自己的能力范围内解决了六道,其中有一道是参考了另一位大神的思路最终用代码实现,还有一道反正我怎么想也想不出来~~有兴趣的大神们可以尝试一下让我观摩观摩哈哈,下面放题 1.回文序列题目: 如果一个数字序列逆置之后跟原序列是一样的就称这样的数字序列为回文序列。例如:{1, 2, 1}, {15, 78, 78, 15} , {112} 是回文序列,{1, 2, 2}, {15, 78, 87, 51} ,{112, 2, 11} 不是回文序列。现在给出一个数字序列,允许使用一种转换操作:选择任意两个相邻的数,然后从序列移除这两个数,并用这两个数字的和插入...

阅读全文

© 2017 RABBIT All Rights Reserved.
Theme by hiero