Tìm kiếm

Đệ Quy

Khái niệm :
Một hàm được gọi là đệ qui nếu bên trong thân của hàm đó có lời gọi hàm lại chính nó

Phân loại đệ qui :
Đệ quy thường gặp thuộc một trong bốn loại sau :

* Đệ qui tuyến tính
* Đê qui nhị phân
* Đệ qui phi tuyến
* Đệ qui hỗ tương


Cấu trúc hàm đệ qui :

Đệ qui tuyến tính :Cấu trúc của nó giống như định nghĩa :

Code:
KieuDuLieu TenHam(Thamso)
{
if(Dieu Kieu Dung)
{
...;
return Gia tri tra ve;
}
...;
TenHam(Thamso)
...;
...;
}

Đệ qui nhị phân : Cũng giống như đệ qui tuyến tính nhưng bên trong thân hàm của nó có thêm một lời gọi lại chính nó

Code:
KieuDuLieu TenHam(Thamso)
{
if(Dieu Kieu Dung)
{
...;
return Gia tri tra ve;
}
...;
TenHam(Thamso);
...;
...;
TenHam(Thamso);
...;
...;
}


Đệ qui tương hỗ : Trong đệ qui tương hỗ thì thường có 2 hàm , và trong thân của hàm này có lời gọi của hàm kia , điều kiện dừng và giá tri tra về của cả hai hàm có thể giống nhau hoặc khác nhau

Code:
KieuDuLieu TenHamX(Thamso)
{
if(Dieu Kieu Dung)
{
...;
return Gia tri tra ve;
}
...;
return TenHamX(Thamso) <Lien ket hai ham> TenHamY(Thamso);
}

KieuDuLieu TenHamY(Thamso)
{
if(Dieu Kieu Dung)
{
...;
return Gia tri tra ve;
}
...;
return TenHamY(Thamso)<Lien ket hai ham>TenHamX(Thamso);
}

Đệ qui phi tuyến : Hàm được gọi là đệ qui phi tuyến nếu bên trong thân hàm có lời gọi lại chính nó được đặt bên trong thân của vòng lặp

Code:
KieuDuLieu TenHam(Thamso)
{
if(Dieu Kieu Dung)
{
...;
return Gia tri tra ve;
}
...;
vonglap(dieu kieu lap)
{
...TenHam(Thamso)...;
}
return Gia tri tra ve;
}

Bài tập đệ qui :
1/Đệ qui tuyến tính :

Bài tập 1:
Tính S(n) = 1 + 2 + 3 + ... + n - 1 + n

Bài tập 2:
Tính S(n) = 1^2 + 2^2 + 3^2 + ... + (n-1)^2 + n^2

Bài tập 3:
Tính S(n) = 1 + 1/2 + 1/3 + ... + 1/n

Bài tập 4:
Tính S(n) = 1/2 + 1/4 + ... + 1/2n

Bài tập 5:
Tính S(n) = 1 + 1/3 + 1/5 + ... + 1/(2n+1)

Bài tập 6:
Tính S(n) = 1/(1*2) + 1/(2*3) + 1/( n(*n-1) )

Bài tập 7 :
Tính S(n) = 1/2 + 2/3 + 3/4 + ... + n/(n+1)

Bài tập 8 :
Tính S(n) = 1/2 + 3/4 + 5/6 + ... + (2n+1)/(2n+2)

Bài tập 9:
Tính T(n) = 1*2*3*.....*n

Bài tập 10:
Tính T(x,n) = x^n

Bài tập 11:
Tính S(n) = 1 + 1.2 + 1.2.3 + .... + 1.2.3....n

Bài tập 12:
Tính S(x,n) = x + x^2 + x^3 + ... + x^n

Bài tập 13 :
Tính S(x,n) = x^2 + x^4 +.... + x^2n

Bài tập 14 :
Tính S(x,n) = x + x^3 + x^5 +....+ x^(2n+1)

Bài tập 15:
Tính S(n) = 1 + 1/(1+2) + 1/(1+2+3) + ... + 1/(1+2+3+...+n)

Bài tập 16:
Tính S(x,n) = x + (x^2)/2! + (x^3)/3! + ... + (x^n)/n!

Bài tập 17 :
Tính S(x,n) = 1 + (x^2)/2! + (x^4)/4! + ... + (x^2n)/(2n)!

Bài tập 18:
Tìm ước số lẻ lớn nhất của số nguyên dương n . Ví dụ : n = 100 ước lẻ lớn nhất của 100 là 25

Bài tập 19:
Tính S(n) = sqrt(2 + sqrt (2 + ... sqrt ( 2 + sqrt(2) ) ) )

Bài tập 20:
Tính S(n) = sqrt(n + sqrt (n-1 + sqrt(n-2 + ...sqrt(2 + sqrt (1) ) ) ) )

Bài tập 21:
Tính S(n) = sqrt(1 + sqrt(2 + sqrt (3 + ...sqrt (n-1 + sqrt (n)))))

Bài tập 22:
S(n) = 1/(1 + 1/(1 + 1/(1 + 1/(... 1 /(1/(1 + 1/(1 + 1 )))))))


Bài tập 23:
Hãy đếm số lượng chữ số của số nguyên dương n

Bài tập 24:
Hãy tính tổng các chữ số của số nguyên dương n

Bài tập 25:
Hãy tính tích các chữ số của số nguyên dương n

Bài tập 26:
Hãy đếm số lượng chữ số lẻ của số nguyên dương n

Bài tập 27:
Hãy tính tổng các chữ số chẵn của số nguyên dương n

Bài tập 28:
Hãy tính tích các chữ số lẻ của số nguyên dương n

Bài tập 29:
Cho số nguyên dương n . Hãy tìm chữ số đầu tiên của n

Bài tập 30:
Hãy tìm chữ số đảo ngược của số nguyên dương n

Bài tập 31:
Tìm chữ số lớn nhất của số nguyên dương n

Bài tập 32:
Tìm chữ số nhỏ nhất của số nguyên dương n

Bài tập 33:
Hãy kiểm tra số nguyên dương n có toàn chữ số lẻ hay không ?

Bài tập 34 :
Hãy kiểm tra số nguyên dương n có toàn chữ số chẵn hay không ?

Read Users' Comments (0)

0 Response to "Đệ Quy"

Đăng nhận xét

Support

Liên hệ DMTuan-Uneti
Mọi thông tin góp ý các bạn liên hệ với mình ! Mail:
  1. manhtuan.leo@gmail.com
  2. manhtuan.itvp@gmail.com

Y!M: manhtuan.it92