int m=37,n=13; while(m!=n){ while(m>n) m = m-n; while(m<n) n = n-m; } System.out.println(m);
时间: 2023-11-18 21:02:18 浏览: 36
这段代码是用辗转相减法求两个数的最大公约数。输出结果为 1。
首先,将 m 和 n 分别赋值为 37 和 13。进入循环体,判断 m 和 n 是否相等,因为 37 不等于 13,所以进入内层循环。
在内层循环中,判断 m 是否大于 n,因为 37 大于 13,所以执行 m = m - n,得到 m 的值为 24。接着判断 m 是否小于 n,因为 24 大于 13,所以执行 m = m - n,得到 m 的值为 11。再次判断 m 是否小于 n,因为 11 小于 13,所以退出内层循环。
回到外层循环,再次判断 m 和 n 是否相等,因为 11 不等于 13,所以再次进入内层循环。
在内层循环中,判断 m 是否大于 n,因为 13 大于 11,所以执行 n = n - m,得到 n 的值为 2。再次判断 m 是否大于 n,因为 11 大于 2,所以执行 m = m - n,得到 m 的值为 9。再次判断 m 是否大于 n,因为 9 大于 2,所以执行 m = m - n,得到 m 的值为 7。再次判断 m 是否大于 n,因为 7 大于 2,所以执行 m = m - n,得到 m 的值为 5。再次判断 m 是否大于 n,因为 5 大于 2,所以执行 m = m - n,得到 m 的值为 3。再次判断 m 是否大于 n,因为 3 大于 2,所以执行 m = m - n,得到 m 的值为 1。再次判断 m 是否大于 n,因为 1 不大于 2,所以退出内层循环。
回到外层循环,再次判断 m 和 n 是否相等,因为 1 等于 1,所以退出外层循环。
因此,最后输出的 m 的值为 1,即 37 和 13 的最大公约数为 1。
相关推荐
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![c](https://img-home.csdnimg.cn/images/20210720083646.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)