Informatica Online Judge

  소수의 개수와 최대 최소 구하기 [1059 / 0423]

Time Limit(Test case) : 1000 (ms)
Number of users who solved : 200   Total Tried : 266


The Champion of this Problem (C++) : gs18059 - 0ms / 401byte
My Best Submission (C++) : N/A

[]

Background

어떤 자연수 k가 있을 때, k의 약수가 1과 k뿐이라면 k는 소수이다.

즉, 약수가 정확히 2개만 존재하는 자연수이다. (단, 1 != k )

두 개의 자연수 a, b가 주어진다.

min(a, b) <= k <= max(a, b)인 k들 중에서

소수인 k의 개수와 min(k), max(k)를 구하는 프로그램을 작성하시오.

Input

첫 번째 줄에 a, b가 공백으로 구분되어 입력된다.

[입력값의 정의역]
1 <= a, b <= 100,000

[Sub-Task Info]

- data set #1 (80%): a, b는 10,000 이하의 값이다.

- data set #2 (20%) : a, b는 100,000 이하의 값이다.

* 입력값이 클 때, 시간초과에 걸리지 않는 알고리즘을 설계할 수 있도록 하세요.

Output

첫 번재 줄에 소수의 개수를 출력한다.
두 번째 줄에 소수들 중 최댓값과 최솟값의 합을 출력한다.

IO Example

입력
2 10

출력
4
9

Submit : [C/C++] | [C++11] | [Obj-C] | [Java] | [Python]
Prob Analysis : [Problem Statistics] | [Solution]