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!!