根本算法之3-最大公约数
基本算法之3---最大公约数
简要概述:
根据递推策略设计辗转相除法:a,b的最大公约数,也是a%b的约数。以此方法递推,直到余数为0
代码实现:
import java.util.Scanner; public class Test{ //最大公约数 public static int yue(int n,int m){ if(n==0||m==0) return 0; if(n<m){ int temp = n; n = m; m = temp; } int r = n%m; while(r!=0){ n=m; m=r; r=n%m; } return m; } //最小公倍数 public static int bei(int n,int m){ if(yue(n,m)==0) return 0; return n*m/yue(n,m); } public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int m = sc.nextInt(); System.out.println("最大公约数:"+yue(n,m)); System.out.println("最小公倍数:"+bei(n,m)); } } /**基本思想: * 辗转相除法(也可以用相减法,本质相同) */