- 博客(4)
- 收藏
- 关注
原创 埃及分数:迭代加深算法的Python实现
看这道题的算法都是其他语言实现的,写一个python版的: 埃及分数(50分) 题目内容: 在古埃及,人们使用单位分数的和(如 ,a是自然数)表示一切分数。例如: ,但不允许加数中有相同的,例如 。对于一个分数 ,表示方法有很多种,但是哪种最好呢?首先,加数少的比加数多的好,其次,加数个数相同的,最小的分数越大越好。如: 19/45=1/3 + 1/12 + 1/180 ...
2021-12-02 13:50:30
1160
原创 数据结构与算法Python版 MOOC 第七周 作业
1 快速排序主元(10分) 题目内容: 著名的快速排序算法里有一个经典的划分过程:我们通常采用某种方法取一个元素作为主元(中值),通过交换,把比主元小的元素放到它的左边,比主元大的元素放到它的右边。 给定划分后的N个互不相同的非负整数的排列,请问有多少个元素可能是划分前选取的主元? 例如给定的排列是[1, 3,2,4,5]。则: 1 的左边没有元素,右边的元素都比它大,所以它可能是主元; 尽管 3 的左边元素都比它小,但其右边的 2 比它小,所以它不能是主元; 尽管...
2021-10-29 15:13:59
278
原创 Python 两个乒乓球队进行比赛,请编程序找出两队参赛对手的名单,不用库算法
题目:两个乒乓球队进行比赛,各出三人。甲队为a,b,c三人,乙队为x,y,z三人。已抽签决定比赛名单。有人向队员打听比赛的名单。a说他不和x比,c说他不和x,z比,请编程序找出三队赛手的名单 这题看了几种写法,要么写的很复杂,要么用了permutation库。 于是死磕了一个比较简洁的算法。 n=len(['x','y','z']) for x in range(n): for y in range(n): for z in range(n): ...
2021-09-09 14:23:14
3670
1
原创 钱珀瑙恩数的Python快速算法实现:计算第N位上的数字Champernowne‘s Championship
将所有正整数连接起来构造的一个十进制无理数如下所示: 0.123456789101112131415161718192021… 可以看出小数点后第12位数字是1。
2021-06-13 16:45:10
889
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅