10、数学算法:连分数、平方根与随机数生成

数学算法:连分数、平方根与随机数生成

连分数生成算法

连分数是一种特殊的分数表示形式,任何数都可以用连分数来表示。下面我们将详细介绍连分数的生成算法。

整数分数的连分数展开

以(105/33)为例,我们的目标是将其表示为如下形式:
[
\frac{105}{33} = a + \frac{1}{b + \frac{1}{c + \frac{1}{d + \cdots}}}
]
具体步骤如下:
1. 将(105/33)看作除法问题,(105\div33 = 3\cdots\cdots6),可将(105/33)重写为(3 + 6/33),由此可知(a = 3)。
2. 接下来需要求解剩余部分,即(\frac{6}{33} = \frac{1}{b + \frac{1}{c + \frac{1}{d + \cdots}}}),两边取倒数得到(\frac{33}{6} = b + \frac{1}{c + \frac{1}{d + \cdots}})。
3. 对(33\div6)进行计算,(33\div6 = 5\cdots\cdots3),可将(33/6)重写为(5 + 3/6),所以(b = 5)。
4. 继续简化(3/6 = 1/2),此时余数为(0),算法结束。最终(\frac{105}{33} = 3 + \frac{1}{5 + \frac{1}{2}})。

这个过程与欧几里得算法类似,欧几里得算法记录的是最后一个非零余数,而连分数生成算法记录的是每一步的商。

以下是用Python实现的连分数生成算法:


                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值