본문 바로가기
알고리즘/문제

[백준] 9094. 수학적 호기심 <C++>

by 코드 이야기 2020. 6. 3.
728x90

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

 

9094번: 수학적 호기심

문제 두 정수 n과 m이 주어졌을 때, 0 < a < b < n인 정수 쌍 (a, b) 중에서 (a2+b2+m)/(ab)가 정수인 쌍의 개수를 구하는 프로그램을 작성하시오. 입력 첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테

www.acmicpc.net

 

 

나누기를 나머지로만 바꾸면 되는 단순한 문제였다.

하지만 나는 바보 같은 짓을 또 했다 . . . . . .

 

 

조건만 보고 반복문을 0부터 돌렸다가 에러가 났다.

바보다... 0으로 나눌 생각을 하다니 큰 실수를 했다.. 다음부턴 꼭 조심..!

 

#include <iostream>
using namespace std;

int cnt, n, m, t, a, b;

int main() {
	cin >> t;  //테스트 케이스 입력
	while (t)
	{
		t--;
		cnt = 0;
		cin >> n >> m;
		for (a = 1; a < n; a++)  //1부터 n까지 하나하나 다 해본다.
		{
			for (b = a + 1; b < n; b++)
			{
				if (!((a * a + b * b + m) % (a * b)))  //나눠서 나머지가 없으면 정수이므로 카운트해준다.
					cnt++;
			}
		}
		cout << cnt << endl;
	}
}
728x90

댓글