Q. 두수의 최소 공배수와 최대 공약수를 구하는 프로그램을 작성하라.
* 최소공배수 = 공배수 중에서 가장 작은 정수
* 최대공약수 = 공약수 중에서 가장 큰 수
아래 답있습니다 !
(for문 사용)
package test;
import java.util.Scanner;
public class Quiz {
public static void main(String[] args){
Scanner input = new Scanner(System.in);
int num1, num2, max=0, min=0, i=2;
System.out.print("두 수 입력 : ");
num1 = input.nextInt();
num2 = input.nextInt();
for(;i<=num1 && i<=num2;){
if(num1%i==0&&num2%i==0)
min=i;
i++;
}
max=num1*num2/min; //최소 공배수 구하는 식
System.out.println("최소 공배수 : "+max);
System.out.println("최대 공약수 : "+min);
}
}
(While문사용)
package test;
import java.util.Scanner;
public class Quiz {
public static void main(String[] args){
Scanner input = new Scanner(System.in);
int num1, num2, max=0, min=0, i=2;
System.out.print("두 수 입력 : ");
num1 = input.nextInt();
num2 = input.nextInt();
while(i<=num1&&i<=num2){
if(num1%i==0&&num2%i==0)
min=i;
i++;
}
max=num1*num2/min; //최소 공배수 구하는 식
System.out.println("최소 공배수 : "+max);
System.out.println("최대 공약수 : "+min);
}
또한, 아래 소스로 풀으셔도 상관없습니다.
package day04;
import java.util.Scanner;
public class Quiz10 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int big, small;
int GCM, LCM;
int mok, na;
System.out.print("첫번째 수 입력 > ");
int first = input.nextInt();
System.out.print("두번째 수 입력 > ");
int second = input.nextInt();
if(first >= second) {
big = first;
small = second;
}else {
big = second;
small = first;
}
while(true) {
mok = big/small;
na = big-mok*small;
if(na==0) {
GCM = small;
LCM = (first*second)/GCM;
System.out.println("최대공약수: "+GCM);
System.out.println("최소공배수: "+LCM);
break;
}
big = small;
small = na;
}
}
}
'Dev. Etc > Algorithm' 카테고리의 다른 글
[JAVA] HashMap을 이용하여 간단한 메뉴판 프로그램 만들기 (0) | 2019.10.26 |
---|---|
[JAVA] 간단한 커피자판기를 console창에 출력하는 문제 (0) | 2019.10.25 |
[JAVA] 간단한 로그인프로그램 console창에 출력하는 문제 (0) | 2019.10.24 |
[JAVA] 간단한 배열로 홀수,짝수 찾아 console창 출력퀴즈 (0) | 2019.10.23 |
[JAVA] 마름모 별(*)찍기 문제 (0) | 2019.10.22 |
[JAVA] 입력받은 수의 약수구하는 문제 (0) | 2019.10.20 |
[JAVA] 쌀&쥐 퀴즈문제 (for문, if문 사용) (0) | 2019.10.19 |
[JAVA] 이중for문을 이용한 구구단출력 (0) | 2019.10.18 |