이제부터 C와 C++ 공부하는 것을 티스토리에 올릴 예정이다.
아무래도 나의 진로가 이제 C/C++ 로 정해졌으니 (그 중에서도 C++)
이제는 진짜 진지하게 임해야겠다는 생각이 들었다.
내 일상은 네이버 블로그에 올리고 이제 티스토리 블로그는 기술블로그로 쓰려고 한다.
그래서 정보처리기사를 취득하면서 원래 알고 있는 C,자바 + 새롭게 배운 파이썬
여기에서 C++을 더 공부하려면 C언어를 좀 더 알아야겠다는 생각이 들었다.
추가로 나도 내가 공부하는게 하도 많다보니 정리할 필요성을 느껴서 블로그를 다시 시작했다.
이 블로그에서는 말의 깔끔함X, 두서없이 정리 모든것이 통한다.
갑자기 A설명하다가 B를 설명할수도 있다. 어찌됐건 내가 공부한거 정리하려고 한거니!!
그래서!! 오늘은 동빈나 유튜버님의 C언어 기초 강의를 다시 들었다. 전부 다 듣진 않고 약간 기억에서 희미해진것들만!
반복함수란 무엇이냐면
10을 넣는다치면 i가 0에서 시작이니 처음에 i 가 0 이고 j가 i보다 작거나 같을때 즉, 0일때도 된다는 것이다
그때 j가 1이 돼서 나온다.
대충 이런 의미다 ㅋㅋ
1 2 는 i가 다시 1로 올라가고 j는 0,1이 나오는데 printf에서 +1을 하니 1 2 가 나온다!
이게 반복함수이다! (숫자 피라미드)
재귀함수란 그럼 무엇일까?
재귀함수란 자기 영역에서 함수를 다시 쓰는것이다. (여기선 count)
그러니까 내가 버거킹에서 새우버거를 시켜서 새우를 앙~ 한입 먹고
이 남은 새우로 새우튀김을 해먹는다는 것과 같다.
반복 함수와는 다르게 자기 영역에서 계속 쓰니까 뭔가 내가보기에는 더 간결한 모습?
ㅎㅎ 그런데 사실 그냥 반복문 쓰는게 나은거같다. 출력은 이렇게 뜨는데
흐음 내가 봐도 그냥 for문으로 하는게 더 나을지도 모르겠다 ㅎㅎ
추가로 조합을 재귀함수로 할 수 있는데
조합의 뜻은 nCr , n개에서 r을 택한다! 수학과정에서 다들 배웠지요?! 순서를 생각 X!
ㅎㅎ
이번엔 nCr(n-1, r-1) + nCr(n-1,r) 을 이용해서 했다.
이게 무슨 말이냐면
5C3은 5x4x3 / 3x2x1 = 10이다.
즉 4C2 + 4C3 이랑 같다는 소리이다. 4C2 = 4x3/2x1 = 6 + 4 = 10
C언어에서 조합 자체를 지원해주는거 같기도 하고?
어쨋든 결과는 이렇게 나왔다.
10C5는 10x9x8x7x6 / 5x4x3x2x1 = 252이다.
이것도 9C4 + 9C5랑 같다. 126 + 126 이기 때문에
이상 반복+재귀함수 끝!!
기억이 점점 돌아온다..