728x90

 

 

문제 03. (2021-05-03)

 

 

숫자 합

n번째 삼각수(triangle number)는 자연수 1부터 n까지의 합입니다. 파라미터로 정수값 n을 받고 n번째 삼각수를 리턴해주는 재귀 함수 triangle_number를 쓰세요. n은 1 이상의 자연수라고 가정합니다.

 

 

주의사항

* 함수 안에 반복문은 쓰면 안됩니다.

 

 

❧ 테스트 셋

# Return sum 1 to n

def triangle_number(n):
    # Code

# Test

for i in range(1, 11):
    print(triangle_number(i))

 


❧ 출력 예시

1
3
6
10
15
21
28
36
45
55

❧ 정답

# Return sum 1 to n
def triangle_number(n):
    if (n == 1):
        return 1
    else:
        return n + triangle_number(n - 1)

# Test
for i in range(1, 11):
    print(triangle_number(i))

 

 

 


 

 

 

 

자릿수 합

파라미터로 정수값 n을 받고 n의 각 자릿수의 합을 리턴해주는 재귀함수 sum_digits를 쓰세요.

 

주의사항

* 함수 안에 반복문은 쓰면 안됩니다.

* 재귀(recursion)의 개념을 이용해야 합니다.

 

 

❧ 테스트 셋

# Return sum of digits
def sum_digits(n):
    # Code

# Test
print(sum_digits(22541))
print(sum_digits(92130))
print(sum_digits(12634))
print(sum_digits(704))
print(sum_digits(3755))

 


❧ 출력 예시

14
15
16
11
20

 


❧ 정답

# Return sum of digits
def sum_digits(n):
    if (n < 10):
        return n
    else:
        return sum_digits(n % 10) + sum_digits(n // 10)
    # Code

# Test
print(sum_digits(22541))
print(sum_digits(92130))
print(sum_digits(12634))
print(sum_digits(704))
print(sum_digits(3755))

 

 

728x90