반응형
문제 출처 : https://www.acmicpc.net/problem/9094
문제
두 정수 n과 m이 주어졌을 때, 0 < a < b < n인 정수 쌍 (a, b) 중에서 (a^2+b^2+m)/(ab)가 정수인 쌍의 개수를 구하는 프로그램을 작성하시오.
입력
첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있으며, n과 m이 주어진다. 두 수는 0보다 크고, 100보다 작거나 같다.
출력
각 테스트 케이스마다 문제의 조건을 만족하는 (a, b)쌍의 개수를 출력한다.
알고리즘 분류
풀이
정말 간단한 완전 탐색 문제이다.
문제에서 주어진 식을 그대로 구현하면 된다.
2중 포문으로 a와 b를 구해도 가볍게 통과할 수 있다.
코드
val br = System.`in`.bufferedReader()
fun main() = with(System.out.bufferedWriter()){
val t = br.readLine().toInt()
repeat(t){
val (n,m) = br.readLine().split(' ').map{it.toInt()}
var answer=0
for(i in 1 until n-1){
for(j in i+1 until n){
if((i*i+j*j+m)%(i*j)==0){
answer++
}
}
}
write("$answer\n")
}
close()
}
반응형
'알고리즘 문제 풀이 > 백준' 카테고리의 다른 글
백준 1720 타일 코드 Kotlin (dp) (0) | 2022.01.07 |
---|---|
백준 18808 스티커 붙이기 Kotlin (시뮬레이션) (0) | 2022.01.06 |
백준 3184 양 Kotlin (bfs) (0) | 2022.01.04 |
백준 20366 같이 눈사람 만들래? Kotlin (투 포인터) (0) | 2022.01.02 |
백준 3020 개똥벌레 Kotlin (이분 탐색) (0) | 2022.01.01 |
댓글