Một câu hỏi tương tự như thế này đã được hỏi vài năm trước , nhưng câu hỏi này thậm chí còn khó hơn.
Thử thách rất đơn giản. Viết một chương trình (trong ngôn ngữ của bạn lựa chọn) mà liên tục thực thi mã mà không sử dụng bất kỳ cấu trúc lặp lại như while
, for
, do while
, foreach
hoặc goto
( Vì vậy, cho tất cả các bạn nitpickers, bạn không thể sử dụng một vòng lặp ). Tuy nhiên, đệ quy không được phép, trong hàm gọi chính nó (xem định nghĩa bên dưới) . Điều đó sẽ làm cho thách thức này quá dễ dàng.
Không có hạn chế về những gì cần được thực hiện trong vòng lặp, nhưng đăng một lời giải thích với câu trả lời của bạn để người khác có thể hiểu chính xác những gì đang được thực hiện.
Đối với những người có thể bị treo trên các định nghĩa, định nghĩa của một vòng lặp cho câu hỏi này là:
A programming language statement which allows code to be repeatedly executed.
Và định nghĩa đệ quy cho câu hỏi này sẽ là định nghĩa hàm đệ quy tiêu chuẩn của bạn:
A function that calls itself.
Người chiến thắng sẽ là câu trả lời có nhiều lượt ủng hộ nhất vào ngày 16 tháng 7 lúc 10 giờ sáng theo giờ miền đông. Chúc may mắn!
CẬP NHẬT:
Để làm dịu sự nhầm lẫn vẫn đang được thể hiện, điều này có thể giúp:
Các quy tắc như đã nêu ở trên:
- Đừng sử dụng các vòng lặp hoặc goto
- Chức năng không thể tự gọi
- Làm bất cứ điều gì bạn muốn trong 'vòng lặp'
Nếu bạn muốn thực hiện một cái gì đó và các quy tắc không cho phép rõ ràng, hãy tiếp tục và thực hiện nó. Nhiều câu trả lời đã bẻ cong các quy tắc.
rep(f){f();f();}
- đây là một câu lệnh (một khai báo hàm là một câu lệnh trong một số ngôn ngữ) cho phép thực thi mã nhiều lần. Có phải nó không được phép. Bạn yêu cầu mã để thực hiện một vòng lặp. Nếu mã đó về mặt cú pháp là một tuyên bố, bạn đã không cho phép nó. Một ví dụ khác : f(b) { b(); g(b); }; g(b) { f(b); }
. Tôi muốn nói f
là một hàm đệ quy (bằng cách đệ quy lẫn nhau g
). Có phải nó không được phép?
function A
cuộc gọifunction B
vàfunction B
cuộc gọifunction A
trong khi 1 trong số các chức năng thực hiện một cái gì đó. Vì hàm không tự gọi nên nó có hiệu lực dựa trên các tiêu chí ^. ^