蓝桥杯刷题--鸡哥的蛋糕大作战(Python)

题目链接:https://www.lanqiao.cn/problems/4145/learning/?isWithAnswer=true
题目描述:

        鸡哥是一位著名的糕点师傅,他特别擅长做各种形状的蛋糕。他有一种特殊的蛋糕制作方法,那就是在蛋糕上开洞。有一天,他想到一个有趣的想法:不同的数字可以代表蛋糕上的洞的数量。例如,数字0、6、和9各代表一个洞,数字8代表两个洞,其他数字则代表没有洞。鸡哥正在进行一个新的蛋糕制作挑战,他需要在一个给定的数字区间[A,B]中,找出一个数字,这个数字的各位数字对应的洞的总数最多。如果有多个数字的洞的总数相同,鸡哥会选择最小的那个数字。你能帮助鸡哥完成这个挑战吗?

输入格式: 

输入的第一行包含两个整数 A和 B(0≤ A≤ B≤10**5)。

输出格式: 

输出一行,包含一个整数,表示在区间[A,B]中,各位数字对应的洞的总数最多的数字如果有多个数字的洞的总数相同,输出最小的那个数字。 

样例输入:

10 100

样例输出: 

 88

题目解决: 

import os
import sys

# 请在此输入您的代码
a, b = list(map(int, input().split()))
count = 0


def pd(i):
    s = 0
    while i:
        count = i % 10
        if count == 0 or count == 6 or count == 9:
            s += 1
        elif count == 8:
            s += 2
        i = i // 10
    return s

m = 0
index = 0
for i in range(a, b + 1):
    count = pd(i)
    if count > m:
        m = count
        index = i
print(index)

总结:

        思路是求区间内整数中各个位置的数字,当数字满足条件时,记录该数的洞数;与此同时,更新最大洞数值及其索引值。

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

夜辰hxh

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值