|
다음과 같이 재귀적으로 정의되는 함수 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) );
}
|