자바 두 수의 최대 공약수 구하 기 (세 가지 방법)
2124 단어 공부 하 다.
1. 역법 전에 저도 몰 랐 습 니 다. 인터넷 에서 찾 아 봤 는데 0 과 0 이 아 닌 수의 약 수 는 모두 이 0 이 아 닌 숫자 입 니 다.
import java.util.Scanner;
public class HelloWorld {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int a = input.nextInt();
int b = input.nextInt();
int r = 1;
if(a == 0 || b == 0){
System.out.print(a == 0 ? b : a);//a,b其中有0的情况
}
else{
for ( int i = 2; i <= a && i <= b;i++){
if(a % i == 0 && b % i == 0){
r = i;
}
}
System.out.print(r);
}
}
}
결실
12 18
6
Process finished with exit code 0
0 12
12
Process finished with exit code 0
2. 전전 상 제법 이 방법 에서 나 는 배제 하지 않 았 다. a, b 중 0 의 경우
import java.util.Scanner;
public class HelloWorld {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int a = input.nextInt();
int b = input.nextInt();
int r = 1;
do{
r = a % b ;
a = b;
b = r;
/*
辗转相除法
a对b取余,b赋值给a 余数赋值给b,,直到 b == 0
*/
}while(b != 0);
System.out.print(a);
}
}
결실
12 18
6
Process finished with exit code 0
3. 손 해 를 줄 이 는 방법 은 저도 0 을 배제 하지 않 았 습 니 다.
import java.util.Scanner;
public class HelloWorld {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int a = input.nextInt();
int b = input.nextInt();
int r = 1;
do{
a = (a > b ? a-b : a);
b = (a < b ? b-a : b);
/*
更相减损数
比较a,b大小,大数减小数,把差赋给大数,
再次比较,相减,赋值,直到a,b相等,
即为最大约数
*/
}while(a != b);
System.out.print(a);
}
}
결실
12 18
6
Process finished with exit code 0
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
자바 두 수의 최대 공약수 구하 기 (세 가지 방법)자바 두 수의 최대 공약수 구하 기 (세 가지 방법) 1. 역법 전에 저도 몰 랐 습 니 다. 인터넷 에서 찾 아 봤 는데 0 과 0 이 아 닌 수의 약 수 는 모두 이 0 이 아 닌 숫자 입 니 다. 결실 2. 전...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.