<답안>
#include <iostream>
using namespace std;
int main() {
int a,b,c;
cin>>a>>b>>c;
//a + (b*n) < c*n
//(c-b)n > a
//n > a / (c-b)
if(c-b <= 0)
cout<<-1;
else
cout<<a/(c-b) + 1;
return 0;
}
<설명>
a + (b*n) < c*n 를 만족하는 n을 찾으면 된다 식을 정리하면
n > a / (c-b) 이 된다 여기서 오류인 경우는
c-b <= 0 즉, 양수여야만 한다 이 경우만 -1을 출력하고
그외의 경우에는 a/(c-b) 구한값 + 1을 출력한다
마지막에 1을 더하는 이유는 결과값을 소수점상으로 계산하면 1.5인 경우 1이 되므로 반올림 개념으로 1을 더해야 한다
'백준 > 백준 단계별 문제풀이' 카테고리의 다른 글
백준 2292번 (C++) (0) | 2020.08.23 |
---|---|
백준 2839번 (C++) (0) | 2020.08.23 |
백준 1316번 (C++) (0) | 2020.08.23 |
백준 2941번 (C++) (0) | 2020.08.23 |
백준 5622번 (C++) (0) | 2020.08.22 |