Tổng hợp các bài toán về đệ quy!!!

Thảo luận trong 'Thuật toán' bắt đầu bởi LieuKyThien, 9 Tháng năm 2009.

  1. Offline

    LieuKyThien

    • Thành Viên Mới

    Số bài viết:
    79
    Đã được thích:
    49
    Điểm thành tích:
    0
    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!!:D
    sunboy thích bài này.
  2. Offline

    LieuKyThien

    • Thành Viên Mới

    Số bài viết:
    79
    Đã được thích:
    49
    Điểm thành tích:
    0
    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();
    }
    FanKaKa thích bài này.

Chia sẻ trang này

Advertising: Linux system admin | nukeviet | nukeviet 4 | Upload ảnh miễn phí