C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[60811] Re:재귀함수 질문이요~
한수동 [hsd1987] 1281 읽음    2010-04-19 08:58
cnt가 초기화가 안되어있군요

님이 짜신 프로그램은 문제대로 짜여진것 같습니다 하지만 cnt를 main 함수에서 0으로 초기화 시켜주시는 것이 좋습니다



안대영 님이 쓰신 글 :
: 다음과 같이 재귀적으로 정의되는 함수 A(m,n)이 있다. A를 프로그램으로 구현하시오. 프로그램을 실행하면 m과 n을 키보드로부터 입력 받고 A(m,n)의 결과값을 모니터에 출력해야 한다. A가 구현된 소스코드는 p10.txt파일로 제출하시오. A(3,7)을 구하시오.
: A(m,n) = n + 1             if m = 0
:     A(m - 1, 1)          if n = 0
:     A(m-1, A(m, n-1))     otherwise
: 이런데요
: 답이 1021이 나오는데 프로그램이693964번도는데 이게 맞을런지요?;;
: 제가짠 프로그램의 코드입니다. 그리고 이코드가 저문제의 답을 구하는 코드가 맞나요;; 이상해서 물어봅니다;;
: #include<stdio.h>
:
: int cnt;
: int proc(int, int);
:
: void main()
: {
:     int m, n, re;
:     scanf("%d %d", &m, &n);
:     re=proc(m, n);
:     printf("%d %d", re, cnt);
: }
:
: int proc(int m, int n)
: {
:     cnt++;
:     if (m==0)
:         return n+1;
:     else if (n==0)
:         return proc(m-1, 1);
:     else
:         return proc(m-1, proc(m, n-1) );
: }

+ -

관련 글 리스트
60806 재귀함수 질문이요~ 안대영 1367 2010/04/17
60811     Re:재귀함수 질문이요~ 한수동 1281 2010/04/19
60807     Re:재귀함수 질문이요~ 니라카 1141 2010/04/17
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.