一、题目名称:求n个数的最大公约数和最小公倍数
二、题目内容:求N个数的最大公约数和最小公倍数.用C或C++或java或python语言实现程序解决问题。
三、算法设计:
1.利用辗转相除法来求出两个数的最大公约数.
2.将输入的n个数放进数组a[100]中.
3.求解每两个数的最大公约数,最后得到n个数的最大公约数.
4.求出两个数的最大公约数后,若k是a和b的最大公约数,那么a和b的最小公倍数为ab/k.
5.遍历一次数组求出n个数的最小公倍数。.
四、调试与测试:
调试:
测试:
1.测试输入的n<2时的情况
2.测试输入的数有等于0时的情况
3.正常情况
五、遇到的困难及解决方案:
在程序编写的过程中由于才开始学java语言,导致初期各种语法错误,通过在网上查找资料,不断完善程序,同时学习到了java的一些常用语句和语法.
测试时输入了带有0的一组数,导致输出错误.然后就加入了INSPECT()函数来检查输入数据的正确性.
六、源代码
import java.util.Scanner;
public class a {
public static void main(String[] args){
Scanner input= new Scanner(System.in);
int i;
int k=1;
int a[]=new int[100];
System.out.println("本程序是用来计算n个数的最大公约数(gcd)和最小公倍数(lcm)的.");
System.out.