关注
第一题,等式两边同乘以最大公约数之后,设三个不相同的数之后最小的数为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为区间最大值的最高位数。
查看原帖
点赞 评论
相关推荐
牛客热帖
更多
正在热议
更多
# 论秋招对个人心气的改变 #
3308次浏览 68人参与
# 牛客AI体验站 #
1665次浏览 59人参与
# 刚入职的你踩过哪些坑 #
2311次浏览 61人参与
# 在大厂上班是一种什么样的体验 #
1801次浏览 26人参与
# 程序员找工作至少要刷多少题? #
4294次浏览 73人参与
# 关于春招/暑期实习,你想知道哪些信息? #
2547次浏览 64人参与
# 一张图晒一下你的AI员工 #
1495次浏览 45人参与
# 为了减少AI幻觉,你注入过哪些设定? #
918次浏览 35人参与
# 我现在比当时_,你想录用我吗 #
2414次浏览 42人参与
# 程序员能干到多少岁? #
3433次浏览 51人参与
# 产品人求职现状 #
320200次浏览 2422人参与
# AI Coding的使用心得 #
1359次浏览 38人参与
# 你的工资什么时候发? #
55400次浏览 345人参与
# 实习,不懂就问 #
162707次浏览 1452人参与
# 你投了多少份简历了? #
421373次浏览 3933人参与
# 金三银四,你有感觉到吗 #
679293次浏览 6047人参与
# 帆软软件工作体验 #
12378次浏览 67人参与
# 暑假倒计时,你都干了些啥? #
40056次浏览 213人参与
# 晒晒你司的新年福利 #
2325次浏览 47人参与
# 软开人,秋招你打算投哪些公司呢 #
179872次浏览 1378人参与

查看20道真题和解析