关注
第一题,等式两边同乘以最大公约数之后,设三个不相同的数之后最小的数为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为区间最大值的最高位数。
查看原帖
点赞 评论
相关推荐
牛客热帖
更多
正在热议
更多
# 我的实习收获 #
19378次浏览 352人参与
# 在国企工作的人,躺平了吗? #
332649次浏览 3856人参与
# 实习吐槽大会 #
21891次浏览 99人参与
# 商战,最累的是我们 #
12418次浏览 48人参与
# 晒一晒你的工位 #
82527次浏览 291人参与
# 我的租房踩坑经历 #
13775次浏览 183人参与
# 夸夸我的求职搭子 #
190614次浏览 1890人参与
# 小厂实习有必要去吗 #
46151次浏览 267人参与
# 穿越回高考你还会选现在的专业吗 #
14632次浏览 196人参与
# 毕业旅行去哪玩儿 #
775次浏览 22人参与
# 携程求职进展汇总 #
527336次浏览 3910人参与
# 今年形式下双非本找得到工作吗 #
140324次浏览 1067人参与
# 工作压力大怎么缓解 #
79041次浏览 934人参与
# 实习中的菜狗时刻 #
365695次浏览 3292人参与
# 工作丧失热情的瞬间 #
280855次浏览 2341人参与
# 产运销实习日记 #
51776次浏览 544人参与
# 互联网公司评价 #
382773次浏览 3796人参与
# 打工人锐评公司红黑榜 #
144916次浏览 900人参与
# 你最满意的offer薪资是哪家公司? #
25728次浏览 134人参与
# 选完offer后,你后悔学机械吗? #
29114次浏览 162人参与