zl程序教程

您现在的位置是:首页 >  其它

当前栏目

一起挑战pythontip的题目(11)

11 挑战 题目 一起
2023-09-14 09:01:29 时间

第51题:降序排序
题目描述:给你一个list L, 如 L=[2,8,3,50], 对L进行降序排序并输出,
如样例L的结果为[50,8,3,2]
示例:输入:L = [4, 2, 25, 7777777, 100, 3, 77777777, 77777777, 77777777, 77777777]
输出:[77777777, 77777777, 77777777, 77777777, 7777777, 100, 25, 4, 3, 2]

>>> L = [2,8,3,50]
>>> sorted(L)[::-1]
[50, 8, 3, 2]
>>> 
>>> L = [4, 2, 25, 7777777, 100, 3, 77777777, 77777777, 77777777, 77777777]
>>> sorted(L)[::-1]
[77777777, 77777777, 77777777, 77777777, 7777777, 100, 25, 4, 3, 2]
>>> 

============================================================
第52题:因子平方和
题目描述:6 的因子有 1, 2, 3 和 6, 它们的平方和是 1 + 4 + 9 + 36 = 50. 如果 f(N) 代表正整数 N 所有因子的平方和, 那么 f(6) = 50.
现在令 F 代表 f 的求和函数, 亦即 F(N) = f(1) + f(2) + .. + f(N), 显然 F 一开始的 6 个值是: 1, 6, 16, 37, 63 和 113.
那么对于任意给定的整数 N (1 示例:输入:N = 1
输出:1

>>> n=6
>>> sum([i**2 for i in [j for j in range(1,n+1) if n%j==0]])
50
>>> 

============================================================
第53题:神の安♂排
题目描述:记得有一次全班去唱K, 其中有个活动是情歌对唱. 具体操作流程是这样的:
准备好 21 个阄(我们班 15 男 6 女), 其中只有两个是有标记的, 每人随意抓取一个, 最后取到有标记的阄的两个人去点首情歌对唱.
旁边一哥们儿幽幽地对我说, 看来搅基真是神的安排啊, 你看我们班的男女人数, 搅基的几率 C(15,2)/C(21,2) 刚好是 1/2.
给跪了, 这哥们儿对数字太敏感了, 简直是拉马努金转世啊. 不过我随之想到一个问题: (21, 15) 真的是神的唯一安排吗? 其实不是的,
神还有很多类似的安排. 比如 (4, 3), 显然 C(4,2)/C(3,2) 也等于 1/2, 当然还有 (120, 85) 等等等等.
神的安排太多太多了, 如果我们定义 (n, m) 是一个安排(其中 1 < m < n), 而如果 C(m,2)/C(n,2) = 1/2, 它就是神的安排.
现在的问题是, 给你一个不大于 10^9 的正整数 N, 有多少组神的安排 (n, m) 满足 n
示例:输入:N = 1
输出:0


============================================================
第54题:最长回文子串可不简单
题目描述:记得一副有趣的对联: "雾锁山头山锁雾, 天连水尾水连天", 上联和下联都是回文的.当然类似的还有: "上海自来水水来自海上, 山西悬空寺寺空悬西山".回文是什么意思? 就是把内容反过来读也是和原来一样的, 譬如 abccba, xyzyx, 这些都是回文的.然而我们更感兴趣的是在一个英文字符串 L 中, 怎么找出最长的回文子串.例如 L = "caayyhheehhbbbhhjhhyyaac", 那么它最长的回文子串是 "hhbbbhh".这个任务看似简单, 但是如果我告诉你 L 的长度可能会接近 10^4, 问题似乎就变麻烦了.不管怎么说, 加油吧骚年.
示例:输入:L = "caayyhheehhbbbhhjhhyyaac"
输出:hhbbbhh
============================================================

来源:

Python 爬取pythontip网站的挑战题目(附全部题目178题)