Raptor 经典例题 4 (递归 子程序)

本文介绍使用辗转相除法求两个数的最大公约数(GCD)的算法实现,以及如何通过子程序计算指定区间内数字各位之和等于特定数值的数的个数。两个算法均采用Raptor编程环境进行演示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  1. 利用递归子程序的方法求最大公约数(输入m,n,求其最大公约数)(运用raptor)

算法:辗转相除法:辗转相除法是求两个自然数的最大公约数的一种方法,也叫欧几里德算法

例如,求(319377):

319÷377=0(余319

319377=377319);

377÷319=1(余58

377319=31958);

319÷58=5(余29

31958=5829);

58÷29=2(余0

5829= 29

319377=29

可以写成右边的格式。

用辗转相除法求几个数的最大公约数,可以先求出其中任意两个数的最大公约数,再求这个最大公约数与第三个数的最大公约数,依次求下去,直到最后一个数为止。最后所得的那个最大公约数,就是所有这些数的最大公约数。

 

 

2. 利用子程序的方法完成下列编程:输入2个数a,b,计算在[a,b]区间的每个数的和是5,一共有多少种。 (运用raptor)

例如104,203
 

算法:将每个数字除以10,按个位,十位,百位……依次保留这个数的每位数字,依次把这些数字加起来得出s,看s是否等于5.

process__1                                     process__2
 

Process__3
 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值