CNTT4A2 COMMUNITY

Thảo luận học tập


You are not connected. Please login or register

Chuyển đến trang : 1, 2  Next

Go downThông điệp [Trang 1 trong tổng số 2 trang]

13/8/2011, 7:15 am
whatsltd4us
whatsltd4us

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 ?


http://vdvinh-nd.blogspot.com

Thích

Báo xấu [0]

Gửi một bình luận lên tường nhà whatsltd4us
13/8/2011, 7:41 am
Mr.Sét
Mr.Sét

A làm mẫu cho memb xem 1 bài đi....hờ hờ..có mấy ai biết cái này đâu

Thích

Báo xấu [0]

Gửi một bình luận lên tường nhà Mr.Sét
13/8/2011, 9:17 am
tinhbandep
tinhbandep

ai làm được bài nào post lên nha
:967:

Thích

Báo xấu [0]

Gửi một bình luận lên tường nhà tinhbandep
13/8/2011, 12:04 pm
LenhHoXung
LenhHoXung

các bác post lên đi món này em kém lắm!!!!

Thích

Báo xấu [0]

Gửi một bình luận lên tường nhà LenhHoXung
13/8/2011, 12:18 pm
kienhl
kienhl

đáp án đây
[You must be registered and logged in to see this link.]
:rtertert:
http://tin4a2uneti.tk

Thích

Báo xấu [0]

Gửi một bình luận lên tường nhà kienhl
13/8/2011, 12:19 pm
LenhHoXung
LenhHoXung

ôi ! bác Kiên cho lời giải quá phũ rồi :7ertet:

Thích

Báo xấu [0]

Gửi một bình luận lên tường nhà LenhHoXung
13/8/2011, 9:20 pm
√ô†ìñҺ▪№¹
√ô†ìñҺ▪№¹

A Vinh Post bài làm lên cho AE tham khảo nhé
E muốn học nhƯng rốT Quá

Thích

Báo xấu [0]

Gửi một bình luận lên tường nhà √ô†ìñҺ▪№¹
13/8/2011, 9:22 pm
√ô†ìñҺ▪№¹
√ô†ìñҺ▪№¹

Kiên làm Mình mừg hụt rôi
cay... cay :956785:

Thích

Báo xấu [0]

Gửi một bình luận lên tường nhà √ô†ìñҺ▪№¹
13/8/2011, 10:06 pm
tinhbandep
tinhbandep

không phải c rốt chỉ tại c chưa muốn học thôi

Thích

Báo xấu [0]

Gửi một bình luận lên tường nhà tinhbandep
13/8/2011, 10:36 pm
kienhl
kienhl

ơ hay nhỉ, tớ cho đáp án roài mà chẳng ai chịu thanks vậy nhỉ :7w;':
http://tin4a2uneti.tk

Thích

Báo xấu [0]

Gửi một bình luận lên tường nhà kienhl
14/8/2011, 5:26 am
Ice.Tea
Ice.Tea

Vote kìa anh em !
http://manhtuan-leo.blogspot.com/

Thích

Báo xấu [0]

Gửi một bình luận lên tường nhà Ice.Tea
14/8/2011, 8:46 pm
b0ystar92
b0ystar92

hay nhj?????

Thích

Báo xấu [0]

Gửi một bình luận lên tường nhà b0ystar92
14/8/2011, 8:46 pm
b0ystar92
b0ystar92

hay nhj?????

Thích

Báo xấu [0]

Gửi một bình luận lên tường nhà b0ystar92
14/8/2011, 8:48 pm
b0ystar92
b0ystar92

bai nay ai lam the

Thích

Báo xấu [0]

Gửi một bình luận lên tường nhà b0ystar92
14/8/2011, 8:51 pm
Mr.Sét
Mr.Sét

tks Bro Vinh nhá ^^!

Thích

Báo xấu [0]

Gửi một bình luận lên tường nhà Mr.Sét
14/8/2011, 9:08 pm
kienhl
kienhl

lên mạng sẹach là có hết ấy mà
http://tin4a2uneti.tk

Thích

Báo xấu [0]

Gửi một bình luận lên tường nhà kienhl
18/8/2011, 8:45 pm
whatsltd4us
whatsltd4us

kienhl đã viết:lên mạng sẹach là có hết ấy mà

Mọi người tích cực thảo luận đi chứ, không ai có ý tưởng gì à.
Search GG cũng được, nhưng phải là sau khi mình đã suy nghĩ, và search rồi phải hiểu được thuật toán của người viết.
http://vdvinh-nd.blogspot.com

Thích

Báo xấu [0]

Gửi một bình luận lên tường nhà whatsltd4us
18/8/2011, 9:12 pm
√ô†ìñҺ▪№¹
√ô†ìñҺ▪№¹

Thanks Host

Thích

Báo xấu [0]

Gửi một bình luận lên tường nhà √ô†ìñҺ▪№¹
21/8/2011, 12:47 am
zuizui
zuizui

#include<iostream.h>
#include<conio.h>
#include<math.h>
long hammu(int x,int n)
{
if(n==1)
return x;
if(n%2==0)
return hammu(x,n/2)*hammu(x,n/2);
if(n%2!=0)
return hammu(x,n-1)*x;
}
void main()
{
int x ;
int n;
cout<<"nhap vao gia tri cua x:" ;
cin>>x;
cout<<"nhap vao gia tri cua n:";
cin>>n;
cout<<"gia tri ham mu " <<x<<"^"<<n<<"="<< hammu(x,n);
getch();
}

Thích

Báo xấu [0]

Gửi một bình luận lên tường nhà zuizui
21/8/2011, 12:48 am
zuizui
zuizui

chang piet dung ko y moi ng thu xem

Thích

Báo xấu [0]

Gửi một bình luận lên tường nhà zuizui
21/8/2011, 1:29 am
kienhl
kienhl

bài hay, vote :6845ert:
http://tin4a2uneti.tk

Thích

Báo xấu [0]

Gửi một bình luận lên tường nhà kienhl
21/8/2011, 7:40 am
whatsltd4us
whatsltd4us

Bài code trên có 1 vài điểm sau :
- Không thực hiện với kiểu thực
- Sai khi n<0

Có ý thế này

Hàm mũ :
Code:
float mu(float x,int n)
//x và hàm mũ để kiểu float

Code:
if (x==0) return 0;
if (n==0) return 1;

Xét:
Code:
if (n>0) ...
Code:
if (n<0) ...

http://vdvinh-nd.blogspot.com

Thích

Báo xấu [0]

Gửi một bình luận lên tường nhà whatsltd4us
21/8/2011, 8:18 am
zuizui
zuizui

ukm to tiep thu hihi :lfgghj:

nhung cho them may cai do vao ko kho ma hihi

Thích

Báo xấu [0]

Gửi một bình luận lên tường nhà zuizui
21/8/2011, 8:20 am
zuizui
zuizui

moi ng len day nhiu nhiu di thao luan pai cho zui hihi
:sdgsid:

Thích

Báo xấu [0]

Gửi một bình luận lên tường nhà zuizui
26/8/2011, 2:17 am
doc2v
doc2v

Giải thuật tìm USCLN của 2 số a và b bằng đệ quy của whatsltd4us đúng rồi, nhưng ở đây mình muốn đưa ra 1 giải thuật có tốc độ hội tụ nhanh hơn:
Gọi r là số dư của phép chia a cho b
UCLN(a,b) = b nếu r=0
UCLN(a,b) = UCLN(b,r) nếu r <>0

Các bạn tự viết code nhé!
Smiles.

Thích

Báo xấu [0]

Gửi một bình luận lên tường nhà doc2v

Thích

Báo xấu [0]

Gửi một bình luận lên tường nhà Sponsored content

Về Đầu TrangThông điệp [Trang 1 trong tổng số 2 trang]

Chuyển đến trang : 1, 2  Next

« Xem bài trước | Xem bài kế tiếp »

Bài viết mới cùng chuyên mục

    Bài viết liên quan với Thuật toán Đệ quy

      Quyền hạn của bạn:

      Bạn không có quyền trả lời bài viết