알고리즘 공부/C++

백준 2702번 초6 수학 C++

마달랭 2024. 7. 21. 01:56
반응형

리뷰

파이썬처럼 모듈을 사용하는 방법을 몰라 브루트포스 알고리즘으로 풀었다.

 

문제 풀이

시작이 될 숫자는 모두 a, b중 큰 값에서 부터 시작해서 각 while루프를 돌아준다.

최소공배수는 현재 숫자를 a로 나눈 나머지와 b로 나눈 나머지가 모두 0일 경우 break

최대공배수는 a를 현재 숫자로 나눈 나머지와 b를 현재 숫자로 나눈 나머지가 모두 0일 경우 break

break가 되지 않는 경우는 없다, 테스트 케이스마다 각각 값을 출력해 준다.

 

참고 사항

없음

 

 

정답 코드

#include <iostream>
#include <string>
#include <cmath>

using namespace std;

int main() {
	int t, a, b, temp1, temp2;
	cin >> t;
	while (t--) {
		cin >> a >> b;
		temp1 = max(a, b), temp2 = max(a, b);
		while (temp1) {
			if (temp1 % a == 0 && temp1 % b == 0) break;
			else temp1++;
		}
		while (temp2) {
			if (a % temp2 == 0 && b % temp2 == 0) break;
			else temp2--;
		}
		cout << temp1 << " " << temp2 << "\n";
	}
}

 

 

728x90
반응형

'알고리즘 공부 > C++' 카테고리의 다른 글

백준 2495번 연속구간 C++  (0) 2024.07.21
백준 5656번 비교 연산자 C++  (0) 2024.07.21
백준 5586번 JOI와 IOI C++  (0) 2024.07.21
백준 2774번 아름다운 수 C++  (0) 2024.07.21
백준 11575번 Affine Cipher C++  (0) 2024.07.21