일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 운영체제의 미래
- 반복 구조 찾기
- 앨런 튜링
- 딥러닝
- 운영체제의 발달 과정
- 국립과천과학관
- 프로그래밍
- 컴퓨터
- 장치에 할당할 수 없는 NET ID Broadcast주소
- 절차적 사고의 장점
- 운영체제의 기능 1. 자원 관리 기능 2. 시스템 보호 3. 네트워크(통신 기능)
- 선택
- 뿌..
- 절차적 사고
- 겁나 많아
- 순서도
- 운영체제 서비스
- 말 인용
- gensim 3.7.3 설치 오류
- 기계어
- 소프트웨어
- 운영체제 목적
- 레지스터
- 해결 방안
- 처리
- 미래 사회의 단위
- 공부정리
- 출력
- 소프트웨어 시대
- 패킷트레이서 이용
- Today
- Total
hye-_
58강 ~ 60강 | 중복 재귀함수 본문
58강 | 중복 재귀함수 (1)
자료 출처 - 깨알 C언어 | 58. 중복 재귀함수 (1) (youtube.com)
main()
a=3
b=2
printf ("%d\n", recur(3,2)); 함수호출 = 41
a=3, b=2
if (3<=1) 거짓 else return 3 * recur(3-1, 2+1) + recur(3-1, 2); 함수호출 = 3 * 11 + 8
오른쪽) recur(3-1, 2+1)
a=2, b=3
if (2<=1) 거짓 else return 2 * recur(2-1, 3+1) + recur(2-1, 3); 함수호출 = 2 * 4 + 3 = 11
오른쪽) recur(2-1, 3+1)
a=1, b=4
if (1<=1) 참 return 1 * 4
왼쪽) recur(2-1, 3)
a=1, b=3
if( 1<=1) 참 return 1 * 3
왼쪽) recur(3-1, 2)
a=2, b=2
if (2<=1) 거짓 else return 2 * recur(2-1, 2+1) + recur(2-1, 2); 함수호출 = 2 * 3 + 2 = 8
오른쪽) recur(2-1, 2+1)
a=1, b=3
if (1<=1) 참 return 1 * 3
뢴쪽) recur(2-1, 2)
a=1, b=2
if (1<=1) 참 return 1 * 2
출력
41
59강 | 중복 재귀함수 (2)
자료 출처 - 깨알 C언어 | 59. 중복 재귀함수 (2) (youtube.com)
main()
a=aub(4); 함수호출 = 3
n=4
if(4==0) 거짓 if(4==1) 거짓 return (sub(4-1) + sub(4-2)); 함수호출 = 2 + 1
오른쪽) sub(4-1)
n=3
if(3==0) 거짓 if(3==1) 거짓 return (sub(3-1) + sub(3-2)); 함수호출 = 1+1
오른쪽) sub(3-1)
n=2
if(2==0) 거짓 if(2==1) 거짓 return (sub(2-1) + sub(2-2)); 함수호출 = 1+0
오른쪽) sub(2-1)
n=1
if(1==0) 거짓 if(1==1) 참 return 1
왼쪽) sub(2-2)
n=0
if(0==0) 참 return 0
왼쪽) sub(3-2)
n=1
if(1==0) 거짓 if(1==1) 참 return 1
왼쪽) sub(4-2)
n=2
if(2==0) 거짓 if(2==1) return ( sub(2-1) + sub(2-2)); 함수호출 = 1+0
오른쪽) sub(2-1)
n=1
if(1==0) 거짓 if(1==1) 참 return 1
왼쪽) sub(2-2)
n=0
if(0==0) 참 return 0
출력
3
60강 | 중복 재귀함수 (3)
자료 출처 - 깨알 C언어 | 60. 중복 재귀함수 (3) (youtube.com)
main()
fib(5); 함수호출 = 5
n=5
if(5==0) 거짓 if(5==1) 거짓 return (fib(5-1)+fib(5-2)); 함수호출 = 3 + 2
오른쪽) fib(5-1)
n=4
if(4==0) 거짓 if(4==1) 거짓 return (fib(4-1)+fib(4-2)); 함수호출 = 2 + 1
오른쪽) fib(4-1)
n=3
if(3==0) 거짓 if(3==1) 거짓 return (fib(3-1)+fib(3-2)); 함수호출 = 1 + 1
오른쪽) fib(3-1)
n=2
if(2==0) 거짓 if(2==1) return (fib(2-1) + fib(2-2)); 함수호출 = 1+0
오른쪽) fib(2-1)
n=1
if(1==0) 거짓 if(1==1) 참 return 1
왼쪽) fib(2-2)
n=0
if(0==0) 참 return 0
왼쪽) fib(3-2)
n=1
if(1==0) 거짓 if(1==1) 참 return 1
왼쪽) fib(4-2)
n=2
if(2==0) 거짓 if(2==1) 거짓 return (fib(2-1)+fib(2-2)); 함수호출 = 1+0
오른쪽) fib(2-1)
n=1
if(1==0) 거짓 if(1==1) return 1
왼쪽) fib(2-2)
n=0
if(0==0) 참 return 0
왼쪽) fib(5-2)
n=3
if(3==0) 거짓 if(3==1) 거짓 return (fib(3-1)+fib(3-2)); 함수호출 = 1 + 1
오른쪽) fib(3-1)
n=2
if(2==0) 거짓 if(2==1) 거짓 return (fib(2-1)+fib(2-2)); 함수호출 = 1+0
오른쪽) fib(2-1)
n=1
if(1==0) 거짓 if(1==1) 참 return 1
왼쪽) fib(2-2)
n=0
if(0==0) 참 return 0
왼쪽) fib(3-2)
n=1
if(1==0) 거짓 if(1==1) 참 return 1
호출되는 횟수
15
'언어 > C언어_기초' 카테고리의 다른 글
++ 연속으로 있을 때 처리 (0) | 2024.02.28 |
---|---|
c언어 printf 출력순서 (0) | 2024.02.28 |
53강 ~ 57강 | 재귀함수 (0) | 2024.02.28 |
52강 | STATIC 변수 (4) (0) | 2024.02.27 |
51강 | STATIC 변수 (3) (0) | 2024.02.27 |