7.14(计算gcd)编写方法,返回个数不确定的整数的最大公约数。编写一个测试程序,提示用户输入5个数字,调用该方法找出这些数的最大公约数,并显示这个最大公约数
题目题目描述破题代码运行实例鸣谢题目
题目描述
7.14(计算gcd)编写方法,返回个数不确定的整数的最大公约数:
public static int gcd(int… numbers)
编写一个测试程序,提示用户输入5个数字,调用该方法找出这些数的最大公约数,并显示这个最大公约数
破题
主方法:接收用户输入的5个数字(从控制台以数组形式接收),调用gcd方法、接收到的返回值进行输出gcd方法:对接收到的数组一个一个找最大公约数,5个公约数中取最大的数并返回代码
import java.util.Scanner;public class Test7_14 {public static void main(String[] args) {//接收用户输入的5个数字(从控制台以数组形式接收)Scanner input = new Scanner(System.in);System.out.print("请输入5个数字:");int length = 5;int[] lst = new int[length];for (int i = 0; i < length; i++){lst[i] = input.nextInt();}//调用gcd方法、接收到的返回值进行输出System.out.println(gcd(lst));}public static int gcd(int n1, int n2){int res = Math.min(n1,n2);while(res >= 0){if( (n1 % res == 0) && (n2 % res == 0))break;else--res;}return res;}public static int gcd(int...numbers){int len = numbers.length;int num = numbers[0];for (int i = 0; i < len; i++) {num = gcd(num, numbers[i]);}return num;}}
运行实例
请输入5个数字:1 2 3 4 52
鸣谢
@大海的蓝天白云 发现笔者思路问题(固定了输入个数为5个而不是个数不确定)且提供了部分代码修改建议,非常感谢
Java黑皮书课后题第7章:7.14(计算gcd)编写方法 返回个数不确定的整数的最大公约数。编写一个测试程序 提示用户输入5个数字 调用该方法找出这些数的最大公约数 并显示这个最大公约数