약수 (백준 1037번)

박영준·2023년 5월 24일
0

코딩테스트

목록 보기
151/300

메모

/*
N
양수 A 
N의 진짜 약수가 모두 주어짐

A 가 진짜 약수가 되는 조건?
	조건 1 : A 의 배수 = N
	조건 2 : A != 1 || A != N

첫째 줄 : N의 진짜 약수의 개수 (0 < 개수 <= 50)
*/


해결법

방법 1

public class Main {
	public static void main(String[] args) {
    
 		int N;
		int count;

		for (int A = 2; A < N; A++){
			if (N % A == 0) {
            	count++;
    		}
        }
        
        System.out.println(count);
    }
}  

방법 2

import java.util.Arrays;
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
    
        Scanner sc = new Scanner(System.in);
        
        int count = sc.nextInt();		// 약수의 개수
        
        int[] num = new int[count];		// 약수의 개수만큼 배열 num 생성

        for (int i = 0; i < count; a++) {	// 배열 num 에 숫자를 담는다 (주의! i는 인덱스)
            num[i] = sc.nextInt();
        }
        
        Arrays.sort(num);		// 오름차순 정렬
        
        System.out.println((num[0])*(num[count - 1]));
    }
}

-(num[0])*(num[count - 1])

  • N = 대칭이 되는 약수 간의 곱
  • num[0] = 최솟값
    num[count - 1] = 최댓값

약수 (백준 1037번)

profile
개발자로 거듭나기!

0개의 댓글