홈 AtCoder ABC 238 A — Exponential or Quadratic
글
취소

AtCoder ABC 238 A — Exponential or Quadratic

문제: AtCoder ABC 238 A — Exponential or Quadratic English · [한국어] · 日本語

2^N > N^2인지 판정하는 문제입니다. 거듭제곱을 직접 계산할 필요는 없습니다. N = 1일 때 부등식은 참이고, N = 2, 3, 4일 때는 거짓입니다(2^4 = 4^2). N = 5부터는 항상 참입니다. 어떤 N >= 5에서 2^N > N^2라고 가정하면, 2^(N + 1) > 2N^2 >= (N + 1)^2이므로 더 큰 모든 정수에서도 부등식이 참임을 알 수 있습니다.

따라서 N = 1 또는 N >= 5일 때만 Yes를 출력하고, 나머지 경우에는 No를 출력하면 됩니다. 입력 가능한 N이 커도 정수 비교 두 번이면 충분합니다.

Java

1
2
3
4
5
6
7
8
9
10
11
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader input = new BufferedReader(new InputStreamReader(System.in));
        int n = Integer.parseInt(input.readLine().trim());
        System.out.println(n == 1 || n >= 5 ? "Yes" : "No");
    }
}
이 글은 저자가 CC BY 4.0 라이선스로 배포합니다.