关注
我严重怀疑这代码不是你自己写的,因为感觉你自己都不知道这个代码在干什么事情,注释都错了 不懂请不要装懂误导别人 这个代码的核心思想就是找出各个位数上1的个数,和辗转相除一点关系都没有 重新注释了一下,有兴趣的就看看吧 def NumberOf1Between1AndN_Solution(n):
temp = n
res = 0
base = 1 # 应该是指位数,1表示个位,10表示十位....
while temp:
p = temp % 10 # 取出当前位
temp = temp // 10
res += temp * base # temp * base得到该位的出现次数
if p == 1:
# 如果这个位数是1,那么还要算上这个位数1出现的次数
# 举例: 1141的百位
# 上面temp * base即1 * 100算出的是1000前百位为1的个数,1100到1141百位上的1没统计到,因此最终结果还要加上42个
res += n % base + 1
elif p > 1:
# 如果这个位数大于1,那么这个位数的1还出现了base次
# 举例: 1141的十位
# 上面temp * base即11 * 10算出的是1100前十位为1的个数,1100后还有10个没统计到
res += base
base *= 10
return res
12
相关推荐
07-17 12:04
中国矿业大学 热设计工程师 点赞 评论 收藏
分享
06-17 11:08
天津理工大学 Java 点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 假如你的老板掉河里,你的工作能为他做什么 #
30764次浏览 375人参与
# 你觉得早上几点上班合适? #
73072次浏览 306人参与
# 听劝,这个公司值得去吗 #
487029次浏览 1709人参与
# 学历贬值真的很严重吗? #
25398次浏览 178人参与
# 双非能在秋招上岸吗? #
222524次浏览 1178人参与
# 第一份工作应该选高薪还是热爱? #
68047次浏览 609人参与
# 打工人的工作餐日常 #
54155次浏览 426人参与
# 推荐一首陪你工作的歌吧 #
14859次浏览 99人参与
# 月薪多少能在一线城市生存 #
32792次浏览 336人参与
# 秋招签约后的心态变化 #
83281次浏览 819人参与
# 26届的你们有几段实习? #
47559次浏览 520人参与
# 大学最后一个寒假,我想…… #
47039次浏览 576人参与
# 你上一次加班是什么时候? #
89357次浏览 574人参与
# 你以为的实习VS真实的实习 #
33082次浏览 295人参与
# 2023毕业生求职有问必答 #
181612次浏览 1626人参与
# 外包能不能当跳板? #
37411次浏览 227人参与
# 哪些公司真双非友好? #
16300次浏览 82人参与
# 你后悔自己读研吗? #
22515次浏览 247人参与
# 追觅科技求职进展汇总 #
18689次浏览 120人参与
# 不考虑薪资和职业,你最想做什么工作呢? #
92669次浏览 684人参与