정보올림피아드지역예선

정보올림피아드 초등 - 지역예선] 2010년도 23-24번문제

원당컴 2016. 2. 5. 20:12
반응형

 

 

 

23번 풀이)

f 함수를 보면 a가 0보다 큰 경우 계속해서 자기 자신을 호출하는 재귀 함수이다.

따라서 풀어 보면 다음과 같다.

 f(3,2) = f(2,4) + 2;

f(2,4) = f(1,8) + 4;

f(1,8) = f(0,16) + 8;

f(0,16) = 16;

따라서 f(3,2) = 16 + 8 + 4 + 2 = 30

 

24번 풀이)

23번 문제 풀이 과정을 살펴 보면 b의 값을 계속 2배씩 증가 시키면서 a+1 회 반복하여 합하는 함수이다.

따라서 ㄱ 에는 처음 들어온 b가 들어 오며

ㄴ 에는 b*2 가 들어와야 한다.

 

ㄱ에 0 과 ㄴ 에 b 가 입력 되는 경우는  while 에서 a 번 만큼 수행 하기 때문에 a + 1회 와 같은 효과를 주기 위해 sum = b 로 초기 화 한 후에 b * 2를 합해 나간다.

반응형