CSDN27题解

  • 幸运数字

  • 投篮

  • 通货膨胀

  • 最后一位

1、题目名称:幸运数字 小艺定义一个幸运数字的标准包含3条:

1、仅包含4或7。

2、幸运数字的前半部分数字之和等于后半部分数字之和。

3、 数字的长度是偶数。

def func():
    n = input().strip()
    if n.count('4')+n.count('7') != len(n):return False
    if len(n) % 2 == 1:return False
    pre = n[:len(n)//2]
    hou = n[len(n)//2:]
    if sum(int(x) for x in pre) == sum(int(x) for x in hou):return True
    return False
if func():print('YES')
else:print('No')

2、题目名称:投篮 小明投篮,罚球线投球可得1分,在三分线内投篮得分可以得到2分,在三分线以外的地方投篮得分可以得到3分,连续投 进得分累计,一旦有一个球没投进则得分清零,重新计算。现给出所有得分记录(清零不计入得分),请你计算一下小明 最多连续投进多少个球?

n = int(input())
a = list(map(int,input().split()))
res = 0
lin = 1
pre = a[0]
for i in a[1:]:
    if i > pre:
        lin += 1
        pre = i
        res = max(res,lin)
    else:
        pre = i
        lin = 1
print(res)

3、题目名称:通货膨胀

x国货币 X国发行货币最高面额为n。 次高面额为n的因子。 以此类推。 X国最多发行多少种货币。

from functools import lru_cache
def prime(n):
    nums = []
    i = 1
    while i <= n//i:
        if n % i == 0:
            nums.append(i)
            if (i!=n//i):
                nums.append(n//i)
        i += 1
    return nums
@lru_cache(None)
def back(x):
    if x == 1:return 1
    res = 1
    nums = prime(x)
    for i in nums:
        if i == x:continue
        res = max(res,back(i)+1)
    return res
print(back(int(input())))

4、题目名称:最后一位 小明选择了一个正整数X,然后把它写在黑板上。然后每一天他会擦掉当前数字的最后一位,直到他擦掉所有数位。 在整个过 程中,小明会把所有在黑板上出现过的数字记录下来,然后求出他们的总和sum. 例如X = 509, 在黑板上出现过的数字依次 是509, 50, 5, 他们的和就是564. 小明现在给出一个sum,小明想让你求出一个正整数X经过上述过程的结果是sum.

def func():
    sums = int(input())
    lens = one = 0
    lin = sums
    while lin:
        lens += 1
        one = one*10+1
        lin //= 10
     ans = 0
    while lens and one:
        temp = sums//one
        if temp > 9:
            return -1
        ans = ans*10+temp
        sums -= temp*one
        one //= 10
        lens -= 1
    return ans
print(func())
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值