网易python笔试题_python 饥饿的小易(网易笔试题)
本周早些时候,学弟给我发了一道网易的笔试题,饥饿的小易,感觉有点意思~分享给大家
题目描述:
小易总是感觉饥饿,所以作为章鱼的小易经常出去寻找贝壳吃。最开始小易在一个初始位置x_0。对于小易所处的当前位置x,他只能通过神秘的力量移动到 4 * x + 3或者c。因为使用神秘力量要耗费太多体力,所以它只能使用神秘力量最多100,000次。贝壳总生长在能被1,000,000,007整除的位置(比如:位置0,位置1,000,000,007,位置2,000,000,014等)。小易需要你帮忙计算最少需要使用多少次神秘力量就能吃到贝壳。
输入:
输入一个初始位置x_0,范围在1到1,000,000,006
输出:
输出小易最少需要使用神秘力量的次数,如果使用次数使用完还没找到贝壳,则输出-1
乍一看这道题,是有点懵逼的,如果用暴力法来做100%超时。以我的经验来看估计这是一道数学问题,我们就分析一下题目描述中的关键信息吧,看看有没有什么玄机。小章鱼只能移动到4 * x + 3或者8 * x + 7,那我们认为f(x)=4 * x + 3, g(x)=8 * x + 7。关键部分到了,我瞪俩眼睛观察了好久,终于发现
1. f(g(x)) = g(f(x)) 我们可以认为最终小章鱼的移动路线是可以用fg表示的字符串,而且fg可以随意调换位置~所以说腻,ffggffgf=fffffggg
2. f(f(f(x)))=g(g(x)) 也就是说,每做3次f移动等于2次g移动,那么我们可以将结果的fg串中每3个f换成2个g,那么结果的fg串是一个最多包含2个f的fg串~所以说腻,fffffggg=ffggggg
现在解题思路就很清晰了,以0,f,ff为起始位置,每次都移动g,看什么时候能移动到能被1000000007整除的位置。代码如下:
#!/usr/bin/python#-*- coding: utf-8 -*-
defget_result(n):
l_= [n, n * 4 + 3, 16 * n + 15]for j, m inenumerate(l_):for i in range(100000):
m= (8 * m + 7) % 1000000007
if m ==0:return i+j+1
return -1
if __name__ == '__main__':
n=input()print get_result(n)
好啦,这道题到此已经完美解决啦~
希望对大家有所帮助~
网易python笔试题_python 饥饿的小易(网易笔试题)相关推荐
- 饥饿的小易、另类加法
1.用命令方式运行以下代码的运行结果是(C) public class f{public static void main(String[] args){String foo1 = args[1];S ...
- 求解解救amaze问题求解饥饿的小易问题
求解饥饿的小易问题 题目描述 小易总是感觉饥饿,所以作为章鱼的小易经常出去寻找贝壳吃.最开始小易在一个初始位置x_0.对于小易所处的当前位置x,他只能通过神秘的力量移动到 4 * x + 3或者8 * ...
- python简述题_python的一些基本概念知识和面试题
对于机器学习算法工程师而言,Python是不可或缺的语言,它的优美与简洁令人无法自拔.那么你了解过Python编程面试题吗?从Python基础到网页爬虫你是否能全方位Hold住?今天,机器之心为读者们 ...
- mysql题库随机抽取试题_Python从MySQL数据库中面抽取试题,生成试卷
一.背景 本文章主要是分享如何使用Python从MySQL数据库中面抽取试题,生成的试卷每一份都不一样. 二.准备工作 1.安装Python3 2.安装库 pip install python-doc ...
- 饥饿的小易(枚举+广度优先遍历(BFS))
题目描述 小易总是感觉饥饿,所以作为章鱼的小易经常出去寻找贝壳吃.最开始小易在一个初始位置x_0.对于小易所处的当前位置x,他只能通过神秘的力量移动到 4 * x + 3或者8 * x + 7.因为使 ...
- 饥饿的小易(分枝限界法)
一. 程序题(共1题,100分) (程序题) 小易总是感觉饥饿,所以作为章鱼的小易经常出去寻找贝壳吃.最开始小易在一个初始位置x_0.对于小易所处的当前位置x,他只能通过神秘的力量移动到 4 * x ...
- python方法测试_python 测试常用小方法
python 测试常用的小方法 def xia_to_tuo(src: str, firstUpper: bool = False): """ 将下划线分隔的名字,转换为 ...
- python爬虫成果_Python爬虫(小练习)
近日,在浏览伯乐在线(http://blog.jobbole.com/29281/)的时候碰到一些很不错的资源:25本免费的Python电子书 如下图: 其中,每本都是以名字+超链接的方式,于是激起了 ...
- python双手打字_Python打字练习小游戏源代码
Python打字练习小游戏源代码 Python代码狂人 Python代码大全 Python打字练习小游戏源程序,随机产生一串字符,可对打字练习的正确率和时间进行统计,运行截图如下: from tkin ...
最新文章
- 服务器怎么清除日志文件,如何清理服务器数据库日志文件
- @总结 - 4@ 多项式的多点求值与快速插值
- 网站加速之CDN与SCDN的区别?如何选择?
- Nexus3功能介绍
- 对抗神经网络对抗攻击_您将如何检测针对神经网络的网络攻击?
- base64图片的String字符串压缩变小
- 【总目录】机器学习原理剖析、开源实战项目、全套学习指南(50篇合集)
- 申请微信公众测试号一直配置失败,在线等大佬帮忙。
- 计算机的色彩在哪调整w10,win10电脑显示器颜色不对如何调整
- 区别: @Secured(), @PreAuthorize() 及 @RolesAllowed()
- 图解 OSPF :什么是 LSA ?
- 【Android】开屏页面
- latex 公式换行_如何在微信公众号中!编辑出漂亮的数学公式?
- [华硕路由器官方设置]ASUS RT-AC86U官方设置
- 北京地铁车站换乘示意图行动(2010年4月1日更新完整)
- 沁恒CH32V103C8T6(二): Linux RISC-V编译和烧录环境配置
- celery beat一直不触发任务(卡在Writing entries...)
- 电脑打不开html网页,电脑网页打不开怎么回事
- Python爬取Instagram数据Python将图片转化为文字
- mysql报文格式_GitHub - YMBo/sflow_traffic: python解析报文(支持格式sflow、gre等)并存储到mysql...