求最大公约数

求最大公约数-51scratch
最大公约数源代码
此内容为付费资源,请付费后查看
19.9
限时半价特惠
39.9
立即购买
您当前未登录!建议登陆后购买,可保存购买订单
付费资源
已售 29

题目介绍

本作品来自《青少年软件编程(图形化)等级考试试卷(四级)》三.编程题 27.求最大公约数。

试题编号:202212-S4-27

试题类型:编程题

试题难度:较难

题目内容

27.求最大公约数

如果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]-求最大公约数-51scratch

准备工作

1)保留小猫角色,默认位置;

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分)

试题解析

本题的难点在于递归调用。思路是辗转相除法。递归调用的时机是若余数不为零,将被除数设为除数,将除数设为余数,作为参数递归调用。

伪·从零开始学算法 - 2.2 求最大公约数 - 知乎

参考程序

详见下载内容

编程题的功能实现有多种方案,标准答案所示参考程序仅是其中的一种,最终以是否完成题目要求的功能实现效果作为评分依据。

© 版权声明
THE END
喜欢就支持一下吧
点赞7 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容