第二次作业
题目:求两个正整数的最大公约数和最小公倍数。
基本要求:1.程序风格良好(使用自定义注释模板),两种以上算法解决最大公约数问题,提供友好的输入输出。
提高要求:1.三种以上算法解决两个正整数最大公约数问题。
2.求3个正整数的最大公约数和最小公倍数。
一. 算法分析
已知结论:a,b的最大公约数 * 其最小公倍数 = a * b;
如下介绍的三个算法只针对于求解最大公约数,最小公倍数就由上面结论可以得出。
求解两个数的最大公约数算法流程图:
求两个数最小公倍数的算法流程图:
1.辗转相除法(两个数)
用辗转相除法求两个数的最大公约数的步骤如下:
1.先用小的一个数除大的一个数,得第一个余数;
2.再用第一个余数除小的一个数,得第二个余数;