https://www.acmicpc.net/problem/9094
문제
두 정수 n과 m이 주어졌을 때, 0 < a < b < n인 정수 쌍 (a, b) 중에서 (a2+b2+m)/(ab)가 정수인 쌍의 개수를 구하는 프로그램을 작성하시오.
입력
첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있으며, n과 m이 주어진다. 두 수는 0보다 크고, 100보다 작거나 같다.
출력
각 테스트 케이스마다 문제의 조건을 만족하는 (a, b)쌍의 개수를 출력한다.
예제 입력 1
3 10 1 20 3 30 4
예제 출력 1
2 4 5
import java.util.Scanner;
public class Main {
@SuppressWarnings("resource")
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int N = Integer.parseInt(sc.nextLine());
for (int i = 0; i < N; i++) {
int count = 0;
int n = sc.nextInt();
int m = sc.nextInt();
for (int j = 0; j < n; j++) {
for (int j2 = j + 1; j2 < n; j2++) {
if ((Math.pow(j, 2) + Math.pow(j2, 2) + m) / (j * j2) % 1 == 0)
count++;
}
}
System.out.println(count);
}
}
}