본문 바로가기

Recursion

C언어 재귀함수로 삼각형 그리기 - 재귀함수 연습 c언어 재귀함수 연습 원인좀 알려주세요. 재귀함수로 반복문 연습해보는중인데 저가 원하는 출력문은 ***** **** *** ** * 이렇게 나오는것인데 저위에 코드대로 해보면 ***** **** *** ** * ***** 출력문이 이런형태로 나오게되는데 원인좀 알려주세요!. 왜 한번더 돌게 되는지 설명좀 해주세요. 일단 완전 잘못 짰습니다. ○ for_1 함수 중간에 main() 함수를 다시 호출하는 것부터 완전 잘못된 코드입니다. 이것은 재귀함수가 아닙니다. ○ 코드를 고쳐줄까하고 보다가, 너무 모르는 것이 많은 것 같아서, 완전히 다시 짜서 올립니다. 1. 코드가 컴파일되서 돌지도 않습니다. 예를 들어, for_1() 함수의 return을 int 형으로 선언하셨는데, 실제로는 end==0 인 케이스에.. 더보기
피보나치 수열 비재귀방법으로 풀기 - Fibonacci number without recursion 피보나치 수열 재귀함수 이용하지 않고 비재귀로 하는방법 좀 알려주세요~~ 일단 재귀함수 이용하는건 했는데 비재귀는 어떻게 해야되는지 모르겠네요.. 더쉬울줄알았는데.. // 제가 작성한 피보나치 재귀함수 이용 버전입니다. Stack을 사용하면 됩니다 ○ 재귀함수를 없애는 가장 기본적인 방법은 Stack을 사용하는 것입니다. 재귀함수 자체가 실제로는 함수 Stack에 차곡차곡 결과값을 쌓고 있는 것입니다. 실제 Stack을 이용해서 값을 저장하면 그만입니다. ○ 특히 피보나치수열의 경우는 진짜 Stack을 쓸 필요도 없고, Stack 처럼 동작하는 Array면 됩니다. 제 코드에서도 Pop() 함수는 작성을 했지만, 막상 부르는 곳이 없습니다. 지우기도 귀찮아서 일단 남겨둡니다. ○ 참고로, 이 피보나치 수.. 더보기