关注
第一题,等式两边同乘以最大公约数之后,设三个不相同的数之后最小的数为x,其取值范围为[0,「n/(3*k)],在此范围内循环,内循环开始先确定y={a*x + b}, a为大于1的自然数,b为小于x的自然数,且y的值满足大于x且z大于y且x+y+z = n/k,然后判断y与z是否互质。这个算法利用先验条件避免了三个数字相同但是顺序不同的情况,因为x,y,z是对称的。
第二题,利用逆推的思想,本题纯用数学推导,无任何编程思想。7由(8,1)(2,9),(7,0)(不分前后顺序,即pair(1,8)包括81和18)得到,得到两位数中所有的幸运数字,再根据两位数中的幸运数字逆推出三位数中的幸运数字,比如18,要想得到8必须要有8或者9(for i in [8,9]),8或9可能来自高位可能来自低位(for j in [0, 1])。例如,三位数经过计算相邻数之差的绝对值之后要得到18 ,则个位数或者十位数必须是8或者9才能得到(因为经过邻数之差的绝对值计算之后值总是非严格单调递减的),例如个位是9,则十位必须是1才能得到8,相应的百位必须是2才能得到1,得到一个三位幸运数219。最后得到10^N内所有的幸运数字数组,根据区间最小值确定数量,时间复杂度为O(N),N为区间最大值的最高位数。
查看原帖
点赞 评论
相关推荐
03-29 12:00
上海交通大学 硬件开发 点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 美团求职进展汇总 #
1890575次浏览 17566人参与
# 你遇到过哪些神仙同事 #
58629次浏览 578人参与
# 滴滴求职进展汇总 #
163029次浏览 1622人参与
# 扒一扒那些奇葩实习经历 #
19473次浏览 590人参与
# 找工作有哪些冷知识 #
1976次浏览 52人参与
# 拼多多工作体验 #
13407次浏览 134人参与
# 面试时被问的最奇葩的问题 #
17745次浏览 100人参与
# vivo工作体验 #
17876次浏览 114人参与
# 实习期间如何提升留用概率? #
12565次浏览 211人参与
# 应届生简历当中,HR最关注哪些? #
20344次浏览 192人参与
# 大家实习每天都在干啥 #
76772次浏览 490人参与
# 牛友投递互助,不漏校招机会 #
261461次浏览 3571人参与
# 机械人,说说你的烦心事 #
58073次浏览 792人参与
# 机械人避雷的岗位/公司 #
8862次浏览 49人参与
# Offer比较,你最看重什么? #
139433次浏览 882人参与
# 总结:哪家公司最喜欢泡池子 #
117859次浏览 425人参与
# 你的秋招简历被谁挂了? #
245759次浏览 2692人参与
# 毕业季,你想好怎么跟生活对线了吗? #
184297次浏览 3426人参与
# 你后悔选择现在的专业吗 #
75370次浏览 645人参与
# 宁德时代求职进展汇总 #
101272次浏览 616人参与