99클럽 코테 스터디 37일차 TIL + 오늘의 학습 키워드 수학적 호기심

ㅎㅇ·2024년 8월 27일
0

항해99 TIL

목록 보기
31/33

⭐ 문제

https://www.acmicpc.net/problem/9094

🧐 시도

import java.util.Scanner;

public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);

    // 테스트 케이스의 수 입력
    int T = sc.nextInt();
    
    // 각 테스트 케이스 처리
    for (int t = 0; t < T; t++) {
        // n과 m 입력
        int n = sc.nextInt();
        int m = sc.nextInt();
        
        int count = 0;
        
        // 가능한 a와 b를 순회 (1 <= a < b < n)
        for (int a = 1; a < n; a++) {
            for (int b = a + 1; b < n; b++) {
                // (a^2 + b^2 + m) % (a * b) == 0 인지 확인
                if ((a * a + b * b + m) % (a * b) == 0) {
                    count++;
                }
            }
        }
        
        // 결과 출력
        System.out.println(count);
    }
    
    sc.close();
}

}

📝 풀이

입력 처리: Scanner 클래스를 이용해 입력을 처리합니다. 먼저 테스트 케이스 수 T를 입력받습니다.
중첩 루프: 두 정수 a와 b를 순회하며 주어진 조건을 만족하는지 확인합니다.
조건 확인: (a^2 + b^2 + m) % (a * b) == 0을 확인하여, 조건을 만족하면 카운터를 증가시킵니다.
출력: 각 테스트 케이스마다 조건을 만족하는 (a, b) 쌍의 개수를 출력합니다.

profile
안녕하세요

0개의 댓글