Link : judge.koreatech.ac.kr/problem.php?id=1010
Python
더보기
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
import math
from sys import stdin
start = ['2', '3', '5', '7']
case = ['1', '3', '7', '9']
def prime_number(number):
n = int(number)
for i in range(2, int(math.sqrt(n)) + 1):
if n % i == 0:
return False
return True
def makeNumber(arr=None, length=None, depth=None):
if arr is None:
arr = []
data = start if depth == 0 else case
for i in data:
arr[depth] = i
if length - 1 == depth:
if prime_number(''.join(arr)):
print(''.join(arr))
else:
if prime_number(''.join(arr)):
makeNumber(arr[:], length, depth + 1) # arr[:] call by value로 값을 넘겨줌
number_length = int(stdin.readline().strip())
arr = ['' for _ in range(number_length)]
makeNumber(arr[:], number_length, 0) # arr[:] call by value로 값을 넘겨줌
|
cs |
FeedBack
- 재귀의 시간복잡도를 파악할 수 없음
cjw.git@gmail.com
'알고리즘 > 소스코드' 카테고리의 다른 글
KOREATECH 1015: 괄호 짝 (0) | 2020.12.09 |
---|---|
KOREATECH 1011: 징검다리 (0) | 2020.12.09 |
KOREATECH 1007: 유일한 수 (0) | 2020.12.08 |
KOREATECH 1004: 뒤집어 더하기 (0) | 2020.12.08 |
KOREATECH 1003: 0을 만들자 - Small (0) | 2020.12.08 |
댓글