【Scratch四级】求最大公约数
如果6除以2的余数是0,那么我们就说2是6的约数。4除以4的余数是0,4也是4的约数。同理可以求出,4的约数有1、2和4,6的约数有1、2、3和6。两个数的最大公约数是指两个数相同的约数中最大的那一个,如4和6两个数的最大公约数是2。
辗转相除法求最大公约数的步骤如下:
正整数a和b(a>b),
步骤①:如果a除以b的余数m等于0,那么a和b的最大公约数是b。
步骤②:如果a除以b的余数m不等于0,那么将a的值设为b,将b的值设为m,重复进行步骤①。
请你根据上述方法编写程序求出两个整数的最大公约数。
1.准备工作
(1)保留小猫角色,默认位置;
(2)白色背景。
2.功能实现
(1)建立两个变量a和b,将这两个变量设为1至99之间的随机数;
(2)根据上面给出的步骤使用递归法,求这两个数a和b的最大公约数;
(3)最终小猫能正确说出这两个数的最大公约数,输出的格式为“最大公约数为X”,其中X为通过程序计算出来的两个数的最大公约数的值。
本题使用循环作答即扣4分,11分评分标准如下:
(1)在1至99之间取两个随机数;(2分)
(2)能判断余数为0,说出最大公约数;(3分)
(3)用循环没用自制积木递归的。(6分)
使用自制积木递归作答满分15分,15分评分标准如下:
(1)在1至99之间取两个随机数;(2分)
(2)能判断余数为0,说出最大公约数;(3分)
(3)能建自制积木;(6分)
(4)能在自制积木里改变参数调用自己。(4分)
参考程序: