본문 바로가기
정보올림피아드 문제풀이

약수와 배수

by 승현0604 2023. 3. 28.

숫자를 입력을 할 때 공백을 가지고 있는 데이터들을 String으로 변환을 시켜주고 배열에 하나씩 넣어줘서 3번째 숫자와 하나씩 비교를 해주면서  약수와 배수를 알아가는 방식이다.

약수나 배수는 큰거에서 작은숫자로 나누면 나머지가 무조건 0이다 그러므로 숫자의 크기를 비교하고 큰거에서 작은숫자로 나눠주면 나머지가 0이 나오는값들을 카운팅해주면 끝이난다 .

 

주의점 if를 쓰고 else를 쓰면 겹치는숫자가 핻

import java.util.Scanner;

public class Main {
	
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int cnt = 0;
		int cnt2 = 0;
		int num = Integer.parseInt(sc.nextLine());
		String str = sc.nextLine();
		String[] str2 = str.split(" ");
		int num2 = Integer.parseInt(sc.nextLine());
		for (String S : str2) {
			if(Integer.parseInt(S) <= num2 && num2 % Integer.parseInt(S) == 0) {
				cnt+= Integer.parseInt(S);
			}
			
			if(Integer.parseInt(S) >= num2 && Integer.parseInt(S) % num2 == 0 ){
				cnt2 += Integer.parseInt(S);
			}
		}
		System.out.println(cnt);
		System.out.println(cnt2);
		
	}
}

'정보올림피아드 문제풀이' 카테고리의 다른 글

1002 최대공약수 최소공배수  (0) 2023.04.03
숫자의 갯수  (0) 2023.03.28
곱셈  (0) 2023.03.28
숫자사각형 4  (0) 2023.03.28
숫자사각형 2  (0) 2023.03.28