본문 바로가기

Algorithm/Brute Force

(C++) - 백준(BOJ) 9094 : 수학적 호기심

반응형

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

 

9094번: 수학적 호기심

첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있으며, n과 m이 주어진다. 두 수는 0보다 크고, 100보다 작거나 같다.

www.acmicpc.net

brute force 문제였습니다.

📕 풀이방법

📔 입력 및 초기화

n, m, t, ans를 선언 후 t만큼 n, m을 입력해주며 그 때마다 ans를 0으로 초기화해줍니다.

📔 풀이과정

1. (a*b)가 0이라면 division by zero이므로 나눌 수 없습니다.2. for문을 수행하면서 해당 공식에 만족하는 a, b가 있다면 ans에 1을 더해줍니다.

📔 정답출력

ans를 출력해줍니다.


📕 Code

#include <bits/stdc++.h>
using namespace std;
int n, m, t, ans;
int main(){
    cin >> t;
    while(t--){
        ans = 0;
        cin >> n >> m;
        for(int a = 1; a < n; a++){
            for(int b = 1; b < n; b++){
                if(a >= b) continue;
                double res = (double)(a*a + b*b + m) / (a*b);
                if(res == (int)res) ans++;
            }
        }
        cout << ans << '\n';
    }
}