이와 비슷한 질문이 몇 년 전에 제기되었지만이 질문 은 훨씬 까다 롭습니다.
도전은 간단합니다. 반복적으로 같은 어떤 반복 구조를 사용하지 않고 코드를 실행 (선택의 여지가 귀하의 언어) 프로그램 쓰기 while
, for
, do while
, foreach
또는 goto
( 모든 당신 nitpickers에 따라서를, 당신은 루프를 사용할 수 없습니다 ). 그러나 자체 호출 함수에서 재귀는 허용되지 않습니다 (아래 정의 참조) . 그렇게하면이 도전이 훨씬 쉬워집니다.
루프에서 실행해야 할 사항에 대한 제한은 없지만 다른 사람들이 구현중인 내용을 정확하게 이해할 수 있도록 답변과 함께 설명을 게시하십시오 .
정의에 매달린 사람들의 경우이 질문에 대한 루프 정의는 다음과 같습니다.
A programming language statement which allows code to be repeatedly executed.
이 질문에 대한 재귀 정의는 표준 재귀 함수 정의입니다.
A function that calls itself.
우승자는 7 월 16 일 오전 10시 (동부 표준시)에 가장 많이 찬성 한 답변이 될 것입니다. 행운을 빕니다!
최신 정보:
여전히 표현되고있는 혼란을 진정 시키려면 다음과 같은 도움이 될 수 있습니다.
위에서 언급 한 규칙 :
- 루프 나 goto를 사용하지 마십시오
- 함수는 스스로를 호출 할 수 없습니다
- '루프'에서 원하는 것을하십시오
무언가를 구현하고 규칙에서 명시 적으로 허용하지 않는 경우 계속 진행하십시오. 많은 답변이 이미 규칙을 구부 렸습니다.
rep(f){f();f();}
-이것은 코드를 반복적으로 실행할 수있는 명령문입니다 (함수 선언은 일부 언어의 명령문 임). 허용되지 않습니까? 루프를 구현하기위한 코드를 요청합니다. 해당 코드가 구문 상 문장이라면 허용하지 않은 것입니다. 다른 예 : f(b) { b(); g(b); }; g(b) { f(b); }
. 나는 f
재귀 함수 라고 말합니다 (와 상호 재귀 적으로 g
). 허용되지 않습니까?
function A
호출function B
및function B
호출function A
을하십시오. 함수 자체를 호출하지 않으므로 기준에 따라 유효해야합니다. ^. ^