문제
세 수 A, B, C가 주어지고, 곱셈과 나눗셈 연산자를 하나씩 A와 B, B와 C 사이에 넣어 결과의 최댓값을 구하라.
입력
세 정수 A, B, C가 주어진다.
출력
가능한 결과 중 최댓값을 출력한다.
예제
| 입력 | 출력 |
|---|---|
2 3 4 | 6 |
풀이
두 가지 경우를 비교하여 최댓값을 구한다.
(A * B) / C를 계산한다(A / B) * C를 계산한다- 둘 중 큰 값을 출력한다
핵심 아이디어: 연산자 배치는 2가지뿐이므로 모두 계산하여 비교하면 된다.
코드
#include <iostream>
using namespace std;
int main()
{
long long a, b, c, x, y;
cin >> a >> b >> c;
x = (double)(a * b) / c;
y = ((double)a / b) * c;
if (x > y)
cout << x;
else
cout << y;
return 0;
}복잡도
- 시간: O(1)
- 공간: O(1)