Scratch编程:递归实现辗转相除法求两个随机正整数的最大公约数
题目说明
本题为Scratch等级考试四级编程题,要求使用辗转相除法计算两个正整数的最大公约数。
相关定义
- 约数:若整数a除以非零整数b的余数为0,则称b是a的约数,例如4的约数有1、2、4,6的约数有1、2、3、6。
- 最大公约数:两个正整数的公共约数中最大的那个数,例如4和6的最大公约数为2。
辗转相除法步骤(针对正整数a > b)
- 若a除以b的余数m等于0,则b即为两数的最大公约数。
- 若余数m不等于0,则将a赋值为b,b赋值为m,重复执行步骤1。
准备工作
- 保留默认小猫角色与初始位置;
- 使用默认白色背景。
功能实现要求
- 定义全局变量
a和b,分别赋值为1~99之间的随机整数;
- 采用递归法实现上述辗转相除法逻辑,计算a和b的最大公约数;
- 小猫最终说出计算结果,输出格式为"最大公约数为X",其中X为计算得到的最大公约数。
样例效果
