编写程序求两个正整数的最大公约数。(类名Test) 如一次运行的输出窗口内容如下: 请输入两个正整数:24 36 。24与36的最大公约数是12,所以java语言
时间: 2023-06-06 08:04:47 浏览: 183
中这段程序的代码为:
```
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("请输入两个正整数:");
int num1 = input.nextInt();
int num2 = input.nextInt();
int min = num1 < num2 ? num1 : num2;
int gcd = 1;
for (int i = 1; i <= min; i++) {
if (num1 % i == 0 && num2 % i == 0) {
gcd = i;
}
}
System.out.println(num1 + "与" + num2 + "的最大公约数是" + gcd);
}
}
```
相关问题
编写程序求两个正整数的最大公约数。(类名Test) 如一次运行的输出窗口内容如下: 请输入两个正整数:2436 24与36的最大公约数是12
在编写一个名为`Test`的类来求两个正整数的最大公约数时,我们可以创建一个名为`gcd`(greatest common divisor)的方法,通常可以使用欧几里得算法(Euclidean algorithm)。下面是一个简单的Java实现示例:
```java
public class Test {
// 求最大公约数的欧几里得算法实现
public static int gcd(int num1, int num2) {
if (num2 == 0) {
return num1;
} else {
return gcd(num2, num1 % num2);
}
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入两个正整数:");
int num1 = scanner.nextInt();
int num2 = scanner.nextInt();
int result = gcd(num1, num2);
System.out.printf("%d与%d的最大公约数是%d\n", num1, num2, result);
}
}
```
在这个例子中,`gcd`函数递归地计算两个数的最大公约数,直到第二个数变为零,此时第一个数即为最大公约数。在`main`方法中,我们从用户那里获取输入并调用`gcd`方法。
Java编写程序求两个正整数的最大公约数。(类名Test) 如一次运行的输出窗口内容如下: 请输入两个正整数:2436 24与36的最大公约数是12代码
如下:
```
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入两个正整数:");
int num1 = scanner.nextInt();
int num2 = scanner.nextInt();
int gcd = getGcd(num1, num2);
System.out.printf("%d与%d的最大公约数是%d\n", num1, num2, gcd);
}
// 辗转相除法求最大公约数
public static int getGcd(int a, int b) {
int temp;
while (b != 0) {
temp = b;
b = a % b;
a = temp;
}
return a;
}
}
```
阅读全文