Bắt đầu sẽ là: tính 1+2+3+...+n: Mã: int tong(int n) { if(n==1) return 1; return n+tong(n-1); } Tính 1^2+2^2+3^2+...+n^2: Mã: int mu(int n) { if(n==1) return 1; return mu(n-1)+n*n; } Tính 1+1/2+1/3+...+1/n: Mã: float thuong(float n) { if(n==1) return 1; return 1/n+thuong(n-1); } Tính 1/2+1/4+...+1/2n: Mã: float thuong(float n) { if(n==1) return 0.5; return thuong(n-1)+1/(2*n); } Tính 1+1/3+1/5+...+1/(2n+1): Mã: float thuong(float n) { if(n==1) return 1; return thuong(n-1)+1/(2*n+1); } Tính 1/2+2/3+3/4+...+n/(n+1): Mã: float thuong(float n) { if(n==1) return 0.5; return thuong(n-1)+n/(n+1); } Tính 1/2+3/4+5/6+...+(2n+1)/2n+2): Mã: float thuong(float n) { if(n==1) return 0.5; return thuong(n-1)+(2*n+1)/(2*n+2); } Tính 1*2*3*...*n: Mã: int tich(int n) { if(n==1) return 1; return tich(n-1)*n; } Tính Tinh X^n: Mã: int mu(int x,int n) { if(n==1) return x; if(n<0) return mu(x,n+1)*1/x; return mu(x,n-1)*x; } Tính 1+1*2+(1*2*3)+(1*2*3*4)+...+(1*2*3*...*n): int tich(int n) Mã: int tich(int n) { if(n==1) return 1; return tich(n-1)*n; } int tong(int n) { if(n==1) return 1; return tong(n-1)+tich(n-1)*n; } Tính x+x^2+x^3+...+x^n: Mã: int mu(int x,int n) { if(n==0) return 1; return mu(x,n-1)*x; } int tong(int x,int n) { if(n==0) return x; return tong(x,n-1)+mu(x,n-1)*x; } Tính 1+1/(1+2)+1/(1+2+3)+...+1/(1+2+...n): Mã: float tong(float n) { if(n==1) return (float)1; return tong(n-1)+n; } float thuong(float n) { if(n==1) return (float)1; return thuong(n-1)+1/(tong(n-1)+n); } Tính x+(x^2)/2!+(x^3)/3!+...+(x^n)/n! : Mã: float giaithua(float n) { if(n==1) return (float)1; return giaithua(n-1)*n; } float mu(float x,float n) { if(n==1) return x; return mu(x,n-1)*x; } float thuong(float x,float n) { if(n==1) return x; return thuong(x,n-1)+(mu(x,n-1)*n)/(giaithua(n-1)*n); } Tính 1+(x^2)/2!+(x^4)/4!+...+(x^2n)/2n! : Mã: float giaithua(float n) { if(n==0) return (float)1; return giaithua(n-1)*n; } float mu(float x,float n) { if(n==0) return (float)1; return mu(x,n-1)*x*x; } float thuong(float x,float n) { if(n==0) return (float)1; return thuong(x,n-1)+((giaithua(2*n-1)*2*n)/(mu(x,n-1)*x*x)); } Tính 1*2+2*3+...+(n-1)*n Mã: #include<stdio.h> #include<conio.h> int tong(int n) { if(n==2) return 2; return tong(n-1)+n*(n-1); } void main() { int n; scanf("%d",&n); printf("%d",tong(n)); getch(); } Ngoài ra còn vô vàn những bài toán về đệ quy nữa, nếu bạn nào quan tâm có thể liên lạc với mình qua yahoo: thanh_phuong3687@yahoo.com. Have fun!!
thêm một bài về đệ quy nữa đây: Tính 1^1+2^2+3^3+4^4+...n^n : Mã: #include<stdio.h> #include<conio.h> int mu(int n,int m) { if(m==1) return n; return n*mu(n,m-1); } int tong(int n) { int m; m=n; if(n==1) return 1; if(m==1) return 1; return mu(n,m)+tong(n-1); } void main() { clrscr(); int n,m; scanf("%d",&n); m=n; printf("%d",tong(n)); getch(); }