Select the statement about recursive function, that is most correct.
4 phương ánCó giải thích
Các phương án trả lời
Chọn một phương ánLời giảiChọn phương án để mở
Đáp án đúng: "Every recursive function must have at least one base case.". Trường hợp cơ sở là chỗ chuỗi lời gọi chạm đáy và trả về mà không gọi tiếp; thiếu nó thì mỗi lần gọi lại sinh một lần gọi nữa và ngăn xếp lời gọi tràn. Cụm at least one đặt đúng chỗ vì có hàm cần nhiều điểm dừng, ví dụ hàm kiểu Fibonacci phải chặn cả n bằng 0 và n bằng 1 mới đủ để hai nhánh đệ quy n-1 và n-2 cùng dừng được. Vì vậy "Every recursive function must have exactly one base case." sai vì nó buộc đúng một điểm dừng, loại bỏ chính những hàm hai điểm dừng vừa nói; "In recursive function the base cases may be absent." sai vì không có điểm dừng là đệ quy vô hạn, chương trình chết vì tràn ngăn xếp chứ không trả kết quả; "In recursive function only the general (recursive) case must be appeared." sai vì chỉ có nhánh tổng quát cũng chính là không có điểm dừng nào.
Cùng phần 3
Consider the following function:
void fun(int n)
{if(n > 0)
{System.out.print(" " + n );
fun(n-2);
}
}
What is the output when the statement fun(9); is run?Có lời giảiCâu hỏiConsider the following function:
void fun(int n)
{int m = n/2;
int k = n%2;
if (m > 0)
{fun(m);
}
System.out.print(k + " ");
}
What is the output when the statement fun(11); is run?Có lời giảiCâu hỏiConsider the following function:
int fun(int n)
{if (n < 0)
return(fun(-n));
else if(n<5)
return(2);
else
return(n*fun(n/2));
}
What is the value of fun(-3)?Có lời giảiCâu hỏiCả 41 câu của chủ đề41 câu
Xuất hiện trong 1 bộ đề
Đi tiếp từ đây