본문 바로가기

백준/기타 문제

백준 14264 자바

반응형
 

문제

한 변의 길이가 L인 정육각형을 가지고 있다. 오늘은 이 정육각형에 세 개의 겹치지 않는 대각선을 그리려고 한다.

대각선은 정육각형을 4개의 삼각형으로 나눈다. 4개의 삼각형 중에 면적이 제일 작은 삼각형의 면적을 S라고 한다.

가능한 S중에서 최댓값을 구하는 프로그램을 작성하시오.

입력

첫째 줄에 정육각형 한 변의 길이 L이 주어진다. (1 ≤ L ≤ 1,000,000, L은 정수)

출력

첫째 줄에 S의 최댓값을 출력한다. 절대/상대 오차는 10-9까지 허용한다.

예제 입력 1 복사

5

예제 출력 1 복사

10.825317547305485

예제 입력 2 복사

10

예제 출력 2 복사

43.30127018922194

예제 입력 3 복사

100000

예제 출력 3 복사

4.330127018922194E9

 

그림으로 그려보면 가운데에 정삼각형 하나와 나머지 주변에 3개의 삼각형이 나온다. 정육각형이므로 3개의 삼각형 중 하나의 넓이를 구하면 된다.

한 변의 길이가 L이고 정육각형의 한 각은 120도니까 작은 삼각형 하나의 넓이는 4분의루트3 * L * L이라는 식이 나온다.

여기서 루트3은 Math.sqrt()라는 함수를 통해 (제곱근을 반환) Math.sqrt(3)을 넣어주면 루트3이 나온다.

 

import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);

        int L =sc.nextInt();

        double a = Math.sqrt(3);

        double area = a/4 * L*L;

        System.out.println(area);

    }

}
반응형

'백준 > 기타 문제' 카테고리의 다른 글

백준 14623 자바  (0) 2022.04.10
백준 14470 자바  (0) 2022.04.10
백준 11943 자바  (0) 2022.04.10
백준 10797 자바  (0) 2022.04.09
백준 10707 자바  (0) 2022.04.09