[题目4:求最大公约数]由键盘输入两个正整数m、n(m、n用长整数表示),计算它们的最大公约数。 [第一组自测数据] [键盘输入]16,24 [正确输出]8 [第二组自测数据] [键盘输入]17,25 [正确输出]1 [提示]公约数是既能整除m又能整除n的数,题目要求满足这一条件的最大的一个。
时间: 2023-04-03 16:03:50 浏览: 102
答案:可以使用辗转相除法来求最大公约数,具体步骤如下:
1. 用较小的数除以较大的数,得到余数r。
2. 若r为0,则较大的数即为最大公约数。
3. 若r不为0,则用较小的数除以r,再得到余数r1。
4. 如此反复,直到余数为0为止,最后的除数即为最大公约数。
以下是代码实现:
#include <stdio.h>
int main()
{
long m, n, r;
printf("请输入两个正整数m、n:");
scanf("%ld%ld", &m, &n);
while (n != 0)
{
r = m % n;
m = n;
n = r;
}
printf("最大公约数为:%ld\n", m);
return 0;
}
相关问题
由键盘输入两个正整数m、n(m、n<1000000),计算它们的最大公约数。
可以使用辗转相除法来计算两个正整数m和n的最大公约数。具体步骤如下:
1. 如果m小于n,则交换m和n的值,使得m大于等于n。
2. 用m除以n,得到余数r。
3. 如果r等于,则n就是最大公约数。
4. 如果r不等于,则用n除以r,得到余数r1。
5. 重复步骤3和4,直到余数为,此时n就是最大公约数。
例如,假设输入m=24,n=36,按照上述步骤计算:
1. 交换m和n的值,得到m=36,n=24。
2. 用m除以n,得到余数r=12。
3. r不等于,继续计算。
4. 用n除以r,得到余数r1=。
5. 此时n=12,即为最大公约数。
因此,输出结果为12。
Java代码题目:输入两个正整数m和n,求其最大公约数和最小公倍数。
以下是Java代码实现求两个正整数m和n的最大公约数和最小公倍数的方法:
```java
import java.util.Scanner;
public class GCDAndLCM {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入第一个正整数m:");
int m = scanner.nextInt();
System.out.print("请输入第二个正整数n:");
int n = scanner.nextInt();
int gcd = calculateGCD(m, n);
int lcm = calculateLCM(m, n);
System.out.println("最大公约数是:" + gcd);
System.out.println("最小公倍数是:" + lcm);
}
// 计算最大公约数
public static int calculateGCD(int m, int n) {
while (n != 0) {
int temp = m % n;
m = n;
n = temp;
}
return m;
}
// 计算最小公倍数
public static int calculateLCM(int m, int n) {
return m * n / calculateGCD(m, n);
}
}
```
通过以上代码,我们可以输入两个正整数m和n,然后计算它们的最大公约数和最小公倍数,并输出结果。
相关推荐
![exe](https://img-home.csdnimg.cn/images/20210720083343.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)