본문 바로가기
프로그램/Python 1000제

Python 26제] 2021년 한국정보올림피아드 1차 대회 1교시 중등부 사고력 문제 3. 함수 값 구하기

by 건티 2021. 10. 26.
728x90

출처 : 반크 2021년 10월 25일 독도의 날 포스터

 

 

문제] 

양의 정수에 대해 정의되는 f(n)은 다음과 같이 정의된다.

▶ f(1)=0

▶ n이 2이상의 짝수라면, f(n)=f(n/2)+1

▶ n이 3이상의 홀수라면, f(n)=f(n+1)+1

 

f(2049)의 값을 구하시오.

 

참고풀이]

#f(1)=0
#n이 2이상의 짝수 : f(n)=f(n/2)+1
#n이 3이상의 홀수 : f(n)=f(n+1)+1
#f(2049)의 값

def f(N):
    if N==1:
        return 0
    elif N>=2 and N%2==0:
        return 1+f(N//2)
    else:
        return 1+f(N+1)

#main Part
print(f(2049))

 

결과]

 

 

 

대한민국의 아름다운 영토, 독도의 가을

 

반응형

댓글