백준 15726 이칙연산

Han Gyul Kang·2021년 6월 27일
0

study_algorithm

목록 보기
5/6

문제

다음과 같이 세 수가 연속해서 주어졌을 때 한 번의 곱셈 기호와 한 번의 나눗셈 기호를 이용하여 만든 식 중 가장 큰 값을 출력하는 프로그램을 작성하시오. (세 수의 순서는 변하지 않는다.)

  • 32 ☐ 16 ☐ 8

입력

첫째 줄에 세 개 정수 A, B, C(1 <= A, B, C <= 1,000,000)가 주어진다. 답은 int범위를 벗어나지 않는다.

출력

나올 수 있는 가장 큰 값을 출력한다. 단, 소수점 아래는 버린다. 1e-9 이하의 오차로 인해 출력이 달라지는 입력은 주어지지 않는다.

import java.util.Scanner;

public class back_15726 {
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);

        // 입력값에 소수점이 있기 때문에 double로 받는다.
        double a = scan.nextInt();
        double b = scan.nextInt();
        double c = scan.nextInt();

        // 출력 시 소수점 아래는 버리기 때문에 Integer로 캐스팅 해서 소수점 아래는 버린다.
        System.out.println(Math.max((int)(a * b / c), (int)(a / b * c)));
    }
}
profile
피아노 치는 개발자

0개의 댓글