一起挑战pythontip的题目(29)

简介: 一起挑战pythontip的题目(29)

第 141 题:月饼节快乐

============================================================

第 142 题:特殊回文数


题目描述:123321 是一个非常特殊的数,它从左边读和从右边读是一样的。


给你一个正整数 n, 编程求所有这样的五位和六位十进制数,满足各位数字之和等于

n(1<=n<=54)。


按从小到大的顺序输出满足条件的整数,每个整数占一行,例如:


n = 52, 则输出:

899998

989989

998899


>>> def func(n):
  num=[i for i in range(10000,1000000) if str(i)==str(i)[::-1]]
  lst=[str(i) for i in num if sum(int(k) for k in list(str(i)))==n]
  if len(lst):
    print('\n'.join(lst))
  else:
    print('不存在满足条件的数字')
>>> func(1)
不存在满足条件的数字
>>> func(2)
10001
100001
>>> #...
>>> func(7)
10501
11311
12121
20302
21112
30103
>>> #...
>>> func(53)
不存在满足条件的数字
>>> func(54)
999999
>>>



============================================================

第 143 题:最小子串


题目描述:给你三个字符串 a, b, c (0 < len(a) <= 100, 0 < len(b), len(c) <= 20),请你找出 a 的

某个子串,要求该子串长度最小,并且同时包含 b 和 c。特别地,如果有多个这样的子串,

则请输出字母序最小的一个,如果不存在这样的子串,输出 No。


例如:a='abcd', b='ab', c='bc', 则输出:abc

>>> a='abcd'; b='ab'; c='bc'
>>> sub=[a[i:j] for i in range(len(a)) for j in range(i+1,len(a)+1)]
>>> min((len(i),i) for i in sub if b in i and c in i)[1]
'abc'
>>> #合成一行:
>>> min((len(i),i) for i in [a[i:j] for i in range(len(a)) for j in range(i+1,len(a)+1)] if b in i and c in i)[1]
'abc'
>>> 



============================================================

第 144 题:求解幂方程


题目描述:定义方程 y = x^x (x 的 x 次幂),给你 y(1 <= y <= 1000), 请你求出 x 的解,结果保

留到小数点后 3 位。

例如: y=2

则输出:1.560

示例:

输入:y = 1

输出:1.000

============================================================

第 145 题:幸运树


题目描述:小 Py 最近迷上了幸运数字。他所认为的幸运数字是指只由 4 或 7 组成的数字。

比如 44, 7774, 4 都是幸运数字,而 5, 17, 4437 等就不是。


现在小 Py 有一棵树, 这棵树有 n 个节点, n-1 条无向边且保证树连通。现在每条边都有个

权值, 如果该权值为幸运数, 那么这个边就是幸运边。小 Py 想知道存在多少个三元组(a, b,

c), 使得在树上, a 到 b 的路径和 b 到 c 的路径上都至少存在一个幸运边。三元组的不同

排序算作不同的结果。 比如(1, 2, 3), (2, 1, 3), (1, 3, 2)都是不同的三元组。


现在给你这棵树的结构 L,求三元组的个数。其中 L 是一个三元组的列表,每个三元组(x, y,

z)表示点 x 到 y 有一条边,权值为 z; 节点的编号为从 1 开始的连续数字。


例如,L=[(1, 2, 4),(3, 1, 2),(1, 4, 7)]

则输出: 16

Note : 16 个 三 元 组 分 别 为 :

(1,2,4),(1,4,2),(2,1,3),(2,1,4),(2,3,1),(2,3,4),(2,4,1),(2,4,3),(3,2,4),(3,4,2),(4,1,2),(4,1,3),(4,2,1),(4,2,3),(4,3,1),(4,3,2)。

示例:

输入:L = [[1, 2, 4], [3, 1, 2], [1, 4, 7]]

输出:16

============================================================





目录
相关文章
|
定位技术
一起挑战pythontip的题目(22)
一起挑战pythontip的题目(22)
81 0
|
Python
一起挑战pythontip的题目(17)
一起挑战pythontip的题目(17)
90 0
一起挑战pythontip的题目(37)
一起挑战pythontip的题目(37)
88 0
|
Python
一起挑战pythontip的题目(1)
一起挑战pythontip的题目(1)
115 0
一起挑战pythontip的题目(36-1)
一起挑战pythontip的题目(36-1)
61 0
|
调度 Python
一起挑战pythontip的题目(23)
一起挑战pythontip的题目(23)
93 0
一起挑战pythontip的题目(35)
一起挑战pythontip的题目(35)
94 0
一起挑战pythontip的题目(6)
一起挑战pythontip的题目(6)
72 0
一起挑战pythontip的题目(19)
一起挑战pythontip的题目(19)
84 0
|
算法
一起挑战pythontip的题目(2)
一起挑战pythontip的题目(2)
72 0