关注
第一题,等式两边同乘以最大公约数之后,设三个不相同的数之后最小的数为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为区间最大值的最高位数。
查看原帖
点赞 评论
相关推荐
点赞 评论 收藏
分享
![](https://static.nowcoder.com/fe/file/oss/1715049343797JOCFB.png)
点赞 评论 收藏
分享
点赞 评论 收藏
分享
牛客热帖
正在热议
# 牛客帮帮团来啦!有问必答 #
1358220次浏览 18944人参与
# 非技术岗薪资爆料 #
55694次浏览 743人参与
# 极具前瞻性,现代汽车编程题 #
11501次浏览 217人参与
# 和牛牛一起刷题打卡 #
49201次浏览 3971人参与
# 如果可以选,你最想去哪家公司 #
565808次浏览 9433人参与
# 互联网公司评价 #
108400次浏览 1399人参与
# OPPO开奖 #
66725次浏览 1026人参与
# 产品每日一题 #
3335次浏览 153人参与
# 运营人的第一份offer应该如何选 #
42262次浏览 698人参与
# 我的上岸简历长这样 #
228948次浏览 4524人参与
# 0offer是寒冬太冷还是我太菜 #
476372次浏览 5283人参与
# 晒一晒我的offer #
4065122次浏览 60639人参与
# 你会选择考研还是直接就业 #
91488次浏览 1069人参与
# 实习必须要去大厂吗? #
27258次浏览 474人参与
# 来聊聊你目前的求职进展 #
232743次浏览 2945人参与
# 安利/避雷我的岗位 #
186211次浏览 3257人参与
# 春招你拿到offer了吗 #
422403次浏览 5973人参与
# 如果可以选,你最想从事什么工作 #
223652次浏览 3434人参与
# 硬件兄弟们 甩出你的华为奖状 #
38877次浏览 228人参与
# 简历中的项目经历要怎么写 #
517916次浏览 9459人参与
# 我想象的工作vs实际工作 #
119234次浏览 1836人参与
# 海康威视求职进展汇总 #
130406次浏览 1417人参与