解题思路:辗转相除法求最大公约数:两数中较小的数与两数相除余数的最大公约数
注意事项:
参考代码:
1,普通法
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int m = sc.nextInt(); int n = sc.nextInt(); int max = Math.max(m, n); int min = Math.min(m, n); //求最大公约数 for (int i = min; i >0 ; i--) { if (m%i==0&&n%i==0){ System.out.print(i); break; } } System.out.print(" "); //求最小公倍数 for (int i = max; i > 0; i++) { if (i % m == 0 && i % n == 0) { System.out.print(i); break; } } } }
2,辗转相除法
//辗转相除法求最大公约数 while (min != 0) { int c = max % min; max = min; min = c; } System.out.print(max);
0.0分
2 人评分
C语言程序设计教程(第三版)课后习题5.6 (C语言代码)浏览:909 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:485 |
C语言程序设计教程(第三版)课后习题6.5 (C语言代码)浏览:616 |
【计算两点间的距离】 (C语言代码)浏览:1522 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:645 |
数组与指针的问题浏览:760 |
C语言程序设计教程(第三版)课后习题6.7 (C语言代码)浏览:725 |
简单的a+b (C语言代码)浏览:542 |
C语言训练-列出最简真分数序列* (C语言代码)浏览:658 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:801 |