[백준] 9094 수학적 호기심 - Java

Yunki Kim·2023년 1월 13일
0

백준

목록 보기
93/104
post-thumbnail

문제


링크


코드

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

        int T = Integer.parseInt(br.readLine());
        StringBuilder sb = new StringBuilder();
        for (int i = 0; i < T; i++) {
            StringTokenizer st = new StringTokenizer(br.readLine());
            int n = Integer.parseInt(st.nextToken());
            int m = Integer.parseInt(st.nextToken());
            int count = 0;

            for (int j = 1; j < n; j++) {
                for (int k = j + 1; k < n; k++) {
                    if (((j * j) + (k * k) + m) % (j * k) == 0) count++;
                }
            }
            sb.append(count).append("\n");
        }
        br.close();
        System.out.print(sb);
    }
}

리뷰

(a^2 + b^2 + m) / (a * b) 가 정수가 된다는건 해당 식의 결과가 나머지가 없이 딱 나누어 떨어져야 된다는 것이다.

즉, (a^2 + b^2 + m) % (a * b) 가 0이여야 한다는 것이다.
구현은 브루트포스 문제답게 반복문을 이용하면 된다.

0개의 댓글