문제 url:
배수와 약수
문제
import java.io.*;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringBuilder sbd = new StringBuilder();
StringTokenizer st = null;
int a = -1;
int b = -1;
while(true) {
st = new StringTokenizer(br.readLine());
a = Integer.parseInt(st.nextToken());
b = Integer.parseInt(st.nextToken());
if(a == 0 && b == 0) {
break;
}
if(b % a == 0) {
sbd.append("factor").append("\n");
} else if(a % b == 0) {
sbd.append("multiple").append("\n");
} else {
sbd.append("neither").append("\n");
}
}
System.out.println(sbd);
}
}
오랜만에 풀기 쉬운 문제였다.. ㅠㅠ 최근에 좀 힘들었는데 그나마 숨돌려준 문제지 않았을까 한다.
풀이는 간단하게 말하고 끝내겠다.
두 수가 주어졌을 때, 다음 3가지 중 어떤 관계인지 구하는 프로그램을 작성하시오.
첫 번째 숫자가 두 번째 숫자의 약수이다.
첫 번째 숫자가 두 번째 숫자의 배수이다.
첫 번째 숫자가 두 번째 숫자의 약수와 배수 모두 아니다.
만약 약수라면 b를 a로 나누었을 때 나머지가 없어야 할 것이다.
만약 배수라면 a를 b로 나누었을 때 나머지가 없어야 할 것이다.
그렇게 생각하고 코드를 짜면 될 것이다.
여기서 StringBuilder에다가 짠 이유는