01/10/2018, 09:29

Khác biệt của 2 đệ qui!

int asd1(int n){
	if(n == 1)
		return 1;
	else
		return asd1(n - 1) + 1;
}


int asd2(int n){
	if(n == 1)
		return 1;
	else
		return asd2(n - 1);
}

giả sử trong main() gọi
asd1(3) --> kq: 3
asd2(3) --> kq: 1

vậy đâu đã làm cho sự khác biệt này khi cùng đệ qui và điều kiện dừng là n = 1?
Có thể em mất căn bản về đệ qui rồi xin đc chỉ giáo để đc hiểu rỏ hơn!

KYN viết 11:41 ngày 01/10/2018

chả hiểu thím hỏi cái j

*grab popcorn* viết 11:41 ngày 01/10/2018

vậy đâu đã làm cho sự khác biệt này khi cùng đệ qui và điều kiện dừng là n = 1?

Là lúc return, abs1 có return ở phần else khác asd2

Trần Hoàn viết 11:34 ngày 01/10/2018

return khác nhau thì kết quả khác nhau, qua nhiều lần đệ quy thì sai khác tăng thêm

nghia viết 11:33 ngày 01/10/2018

Sorry mọi người em tìm ra chỗ ngu của em rồi! Đã quá làm phiền mọi người!

Bài liên quan
0