문제
풀이
주어진 n을 5로 나눈 몫 cnt5를 구한 다음, n에서 5 * 몫을 뺀 값을 3으로 나눈 나머지 cnt3의 값이 0이 나오거나 cnt5가 0보다 작을 때까지 반복 후, 전자면 cnt3 + cnt5를 출력하고, 후자면 정확하게 n이 될 수 없으므로 -1을 출력한다.
#include <iostream>
#include <vector>
using namespace std;
int main() {
int n;
int cnt3 = 0, cnt5 = 0;
bool flag = true;
cin >> n;
cnt5 = n / 5;
while (true) {
if (cnt5 < 0) {
flag = false;
break;
}
if ((n - 5 * cnt5) % 3 == 0) {
cnt3 = (n - 5 * cnt5) / 3;
break;
}
cnt5--;
}
if (flag == false) cout << -1;
else cout << cnt3 + cnt5;
return 0;
}
'백준 > 브루트포스' 카테고리의 다른 글
[백준/C++] 2386번: 도비의 영어 공부 (0) | 2023.05.22 |
---|---|
1436번: 영화감독 숌 [C++] (0) | 2023.03.27 |
1018번: 체스판 다시 칠하기 [C++] (0) | 2023.03.27 |
19532번: 수학은 비대면강의입니다 [C++] (0) | 2023.03.27 |
2231번 분해합 [C++] (0) | 2023.03.27 |