1.问题描述 #
最大公因数,也称最大公约数、最大公因子,指两个或多个整数共有约数中最大的一个。
a,b的最大公约数记为(a,b),同样的,a,b,c的最大公约数记为(a,b,c),
多个整数的最大公约数也有同样的记号。
求最大公约数有多种方法,常见的有质因数分解法、短除法、辗转相除法、更相减损法。
如果数a能被数b整除(余数为0),a就叫做b的倍数,b就叫做a的约数。
这么说可能大家会觉得太枯燥了,我们今天通过小实例,再次熟悉一下迭代算法。
2.学习目标与任务 #
利用迭代算法完成计算任务:a 和 b 的最大公约数为?
输入一个数a,输入一个数b,小猫就可以算出 a 和 b 的最大公约数。
运行程序看一下效果吧!
3.编程思路与步骤 #
3.1 编程思路 #
对于给定的两个自然数a和b(a>b),用a除以b得到余数c。
若c不等于0,就将b和c构成新的一对数(即将a设为b,将b设为c),继续前面的除法。
直到余数c=0,这时b就是原来的数a、b的最大公约数。
比如:输入1028和248两个数。
第一次:用1024/248,余32;
第二次:用248/32,余24;
第三次:用32/24,余8;
第四次:用24/8,余数=0.
此时就得出,1024和248的最大公约数为8.
3.2 编程步骤 #
1.创建变量
创建变量a、b。因为我们需要进行赋值,所以再创建2个变量,将a1、b1以保存第一次输入的2个数字。
2.询问问题内容。
3. 求余数。创建变量c,将C设为 a/b的余数。
4. 赋值。
让 a=b,b=c,将c设为a/b的余数。
并重复执行直到c=0.
最后说出输入的a1、b1,的最大公约数b。
4.问答与练习 #
4.1 问答 #
左边是小明的程序
运行之后每次都只可以输入一次
小明想要多次输入数字求公约数
大家帮帮小明吧!
4.2 课后练习 #
大家是否还了解其他的数学知识,可以自己尝试一下啊!