작성일 : 15-03-20 13:07
2014년 정올 예선문제 중고등부 문제 28번...문의
 글쓴이 : 이미화(gulala)
조회 : 4,659  

#include
void f(int x) //2
{
 if (x==0) return ;  //3
    f(x/2);             //4
 printf("%d",x%2);  //5

}
int main()
{
 f(10);   //1
 printf(" ");
 f(7);
 printf("\n");
 return 0;
}


실행시 순서가 //1 -> //2 -> //3 -> //4 -> //2 -> //3 -> //4 -> ....

이런식으로 돌아가지 않나여?  답은 1010  1111  이라고 하는데....

//5행은 언제 만나나요?

풀이좀 부탁드립니다.



컴스쿨 15-03-20 16:14
 
재귀함수입니다.

처음에 f(10)을 호출하면 f(5)를 호출하고 대기합니다. (4번 실행)
f(5)는 f(2)를 호출하고 대기합니다. (4번 실행)
f(2)는 f(1)를 호출하고 대기합니다. (4번 실행)
f(1)는 f(0)를 호출하고 대기합니다. (4번 실행)
f(0)은 아무 작업도 하지 않고 return 합니다. (3번 실행)
대기하고 있던 f(1)로 돌아오면 1을 출력하고 돌아갑니다. (5번 실행)
대기하고 있던 f(2)로 돌아오면 0을 출력하고 돌아갑니다. (5번 실행)
대기하고 있던 f(5)로 돌아오면 1을 출력하고 돌아갑니다. (5번 실행)
대기하고 있던 f(10)으로 돌아오면 0을 출력하고 메인으로 돌아갑니다. (5번 실행)

그래서 1010이 출력되는 것입니다.
같은 방법으로 F(7)을 호출하면 111이 출력됩니다.

이 문제는 십진수를 호출하면 이진수로 출력하는 재귀함수입니다.
 
 

Total 629
번호 제   목 글쓴이 날짜 조회
329 입금확인부탁드립니다. (1) 박창숙 04-10 2128
328 입금확인부탁드립니다. (1) 남기선 04-10 2210
327 2012 시도예선 중고등부 문제 29번 (1) 강인애 04-09 2575
326 함수 1 - 형성평가 5 (1) 최의택 04-08 4267
325 카드 결제후 영수증출력은 어디에서 하나요? (1) 문도현 04-08 2542
324 컴퓨터 자기주도 C언어 프로그래밍 프로그램 (1) 전승욱 04-06 3188
323 초등 지역 예선준비 문의합니다. (2) 남정식 04-06 2604
322 정보올림피아즈 지역예선 질문 (1) 이원진 04-06 2624
321 참 궁디합니다 (1) 강서준 04-04 2603
320 결제확인부탁드립니다 (1) 황지훈 04-03 2273
319 결제 확인 부탁드려요. (1) 안준표 03-29 2463
318 배열2 자가진단6 (1) 김주영 03-29 3974
317 2014년 예선 정보올림피아드 25번 풀이 (1) 이수연 03-28 3176
316 정보올림피아드 2014년예상기출문제34번 (1) 유양숙 03-27 6815
315 동영상 재생이되지 않습니다. (1) 왕수진 03-24 3270
314 2014년 초등 기출문제 31번 (1) 김유미 03-24 2567
313 잘 모르겠습니다. (4) 김연수 03-22 2458
312 반복제어문3 형성평가2 (1) 김주영 03-21 3585
311 이건 무슨 오류인가요? (2) 김연경 03-20 3605
310 2014년 정올 예선문제 중고등부 문제 28번...문의 (1) 이미화 03-20 4660
 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    

회사소개 | 개인정보처리방침 | 이용약관 | 찾아오시는 길 | 이메일주소 무단수집거부 | 사업자정보확인
경기도 안양시 동안구 호계동 1065-10 협성골드프라자 601호 한컴에듀케이션(주) TEL : 031-388-8840 FAX : 031-388-0996
대표자 : 김동규 사업자번호 : 130-86-02870 통신판매업신고번호 : 제 2010-경기안양-888호
COPYTIGHT(C) 한컴에듀케이션(주), ALL RIGHT RESERVED.
담은강좌 : 0