[c/c++] 백준 25494 (Bronze 4)

은동·2023년 2월 1일
0

Baekjoon

목록 보기
16/49

🔨 문제

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

<요약>
양의 정수 a,b,c를 입력하고
1 <= x <= a, 1 <= y <= b, 1 <= z <= c 의 x,y,z가
(x mod y) = (y mod z) = (z mod x) 를 만족하는 (x,y,z)의 개수를 구하는 것!


🔨 해결방법

이 문제는 브루트 포스 알고리즘을 이용하여 푸는 문제이다.
나는 for문을 3개 이용하여 카운트해줬다.


🔨 코드

#include <iostream>
using namespace std;

int main() {
	cin.tie(NULL);
	cout.tie(NULL);
	ios::sync_with_stdio(false);
	
	int n;
	cin >> n;
	
	while (n > 0) {
		int a, b, c;
		int cnt = 0;
		cin >> a >> b >> c;

		for (int i = 1; i <= a; i++) {
			for (int j = 1; j <= b; j++) {
				for (int k = 1; k <= c; k++) {
					if (i % j == j % k && j % k == k % i) cnt++;
				}
			}
		}
		
		cout << cnt <<'\n';
		n--;
	}
	
	return 0;
}

브루트 포스(brute force) 알고리즘
https://namu.wiki/w/%EB%B8%8C%EB%A3%A8%ED%8A%B8%20%ED%8F%AC%EC%8A%A4

brute짐승같은, 난폭한이라는 뜻이고, force이다.

가능한 경우의 수를 모두 대입해보며 문제를 해결하는 알고리즘으로 정확도 100%를 보장한다.

profile
자자 선수입장~

0개의 댓글