解题思路:辗转相除法求最大公约数:两数中较小的数与两数相除余数的最大公约数
注意事项:
参考代码:
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语言代码)浏览:2788 |
汽水瓶 (C++代码)浏览:816 |
A+B for Input-Output Practice (IV) (C语言代码)浏览:560 |
蛇行矩阵 (C++代码)(预生成结果以节省每次生成的时间)浏览:818 |
【出圈】 (C语言代码)用单项循环链表浏览:769 |
C语言程序设计教程(第三版)课后习题9.1 (C++代码)浏览:562 |
C语言程序设计教程(第三版)课后习题11.1 (C语言代码)浏览:793 |
C语言训练-素数问题 (C语言代码)浏览:1655 |
C语言程序设计教程(第三版)课后习题9.2 (Java代码)浏览:613 |
【回文数(二)】 (C语言代码)浏览:730 |