Đệ quy hỗ tương

Bài toán:
X(0)=1, Y(0)=1
X(n) = X(n-1)+Y(n-1)
Y(n) = X(n-1)*Y(n-1)
a) Vẽ cây X(3) và Y(3) tương ứng với định nghĩa đệ quy.


b) Tính giá trị X(4).
c) Viết chương trình tính tính X(n) và Y(n) theo hàm đã mô tả trên.
Mã:
#include <conio.h>
#include <stdio.h>
/*De quy tuong ho*/
/*X(0)=1, Y(0)=1
  X(n) = X(n-1)+Y(n-1)
  Y(n) = X(n-1)*Y(n-1) 
*/
long int Y(int n);
long int X(int n) {
	if(n==0) 
		return 1;
	else
		return X(n-1) + Y(n-1);		
}
long int Y(int n) {
	if(n==0)
		return 1;
	else
		return X(n-1)*Y(n-1);		
}
/*Chuong trinh chinh*/
void main(){
	clrscr();
	int n;
	printf("Nhap n = ");
	scanf("%d",&n);
	printf("X(%d) = %d",n,X(n));
	printf("\nY(%d) = %d",n,Y(n));
	getch();
}
---------------