3、古代算法:从质数寻找至圆周率计算的智慧之旅

古代算法:从质数寻找至圆周率计算的智慧之旅

1. 欧几里得算法:迭代与递归的魅力

欧几里得算法用于求两个数的最大公约数(GCD)。其迭代版本通过不断用两数的差替换较大的数,使两数逐渐变小,直至差为零,此时两数相等,即为GCD。例如,对于两个数,每次操作后,两数及其差始终是GCD的倍数,经过多次迭代,差越来越小,最终为零,算法输出结果并终止。

递归版本的欧几里得算法则是算法自身调用自身。具体操作步骤如下:
1. 输入一对数字。
2. 用较大数减去较小数。
3. 用得到的值替换较大数。
4. 如果两数相等,输出其中一个数,它就是GCD;否则,将新的一对数再次应用此算法。

例如,对于18和12,第一次运算后变为12和6,再运算变为6和6,此时输出6,即为它们的GCD。递归版本不仅有效且高效,还具有对称性、美感和优雅性,是算法中的杰作。

2. 埃拉托斯特尼筛法:寻找质数的古老方法

公元前3世纪,埃拉托斯特尼被任命为亚历山大图书馆馆长。他最为人熟知的是测量地球的周长,同时他还发明了寻找质数的埃拉托斯特尼筛法。

质数是除了1和它自身外,没有其他精确整数除数的数,如2、3、5、7、11等。寻找质数非常困难,即使在现代,发现新的质数也很耗时。

埃拉托斯特尼筛法的操作步骤如下:
1. 列出从2开始你想寻找质数的数字列表。
2. 重复以下步骤:
- 找到第一个未被圈出或划掉的数字。
- 圈出它。
- 划掉该数字的所有倍数。
3. 当所有数字都被圈出或划掉时,停止重复。
4. 圈出的数字即为质数。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值