题目:求两个正整数的最大公约数和最小公倍数。
基本要求:1.程序风格良好(使用自定义注释模板),两种以上算法解决最大公约数问题,提供友好的输入输出。
提高要求:1.三种以上算法解决两个正整数最大公约数问题。
解题思路:
最大公约数三种求法:
第一种是 相减法。取两个数中的最大的数做减数,较小的数做被减数,用最大的数减去小数,如果结果为0,则被减数就是这两个数的最大公约数,如果结果不为0,则继续用这两个数中最大的数减较小的数,直到结果为0,则最大公约数为被减数;
第二种是 循环法。每次用较大数作被除数,除以较小的数,若余数不为0进入下一轮循环,前一轮除数作新一轮的被除数,前一轮的余数作为新一轮除数,如此循环直到余数为0,最后的除数即为最大公约数,
第三种是 递归法。用较大数作被除数,如果余数为0,则叫小数就为最大公约数,否则继续递归进行。
最小公倍数求法:为两数之积除以最大公约数。
package data;
import java.util.Scanner;
public class MaxDivisorMinMultiple {
public static void main(String[] args){
Scanner sc=new Scanner(System.in); //接受信息
System.