Coq에서 Ackermann-Peters 함수를 정의하려고하는데 이해가 안되는 오류 메시지가 나타납니다. 보시다시피, 저는 Ackermann의 인수 a, b을 한 켤레에 포장합니다. ab; 인수에 대한 순서 지정 함수를 정의하는 순서를 제공합니다. 그런 다음 Function 양식을 사용하여 Ackermann 자체를 정의하고 ab 인수에 대한 정렬 함수를 제
과 n>=1을 파이썬에서 최대 재귀 수준을 초과하지 않고 계산할 수있는 총 계산 가능한 재귀 함수 ackermann(m,n)을 계산할 수 있습니까? def ackermann(m,n):
if m == 0:
return n+1
if n == 0:
return ackermann(m-1,1)
else:
ACKERMANN의 기능은 다음과 같은 코드를 구현하기 위해 노력했다 def A(m, n):
if m == 0:
return n + 1
elif m > 0 and n == 1:
A(m - 1, 1)
elif m > 0 and n > 0:
A(m - 1, A(m, n - 1))
print A(4,
할당은 성공적으로 수행 한 재귀를 사용하여 Ackermann 방정식을 계산하는 프로그램을 작성하는 것이 었습니다. 과제 부품 말한다 : "기능은 K의 배수 재귀 함수 호출의 수를 출력한다 집합 K = N의 값 100; m < = 3, K = 1; 000;. 다른 모든 값은 000입니다. 또한 프로그램은 함수 호출의 총 수 을 인쇄해야합니다. " 은 ACKE
누구나 ackermann 함수 ack (m, n)를 big-O 표기법으로 계산하거나 복잡성 등급에 속하는 것으로 알고 있습니까? Just Ack (3, n)로도 충분합니다. 어딘가에 나는 그것을 읽지 않는다고 읽습니까? 감사합니다. 코드 조각은 : public class Ackermann {
public static int ackermann(in
Ackermann 함수에 비 재귀 적 솔루션을 작성했지만 완벽하게 작동하고 일반적인 재귀 솔루션보다 빠르게 작동하는 것 같습니다. 그래서 반복적으로 해결할 수 있다면 그것이 왜 원시적 인 재귀 함수가 아닌지 혼란 스럽습니다. 누군가가 원시적 인 재귀 함수가 무엇인지에 대해 오해했는지 또는 대답을 얻기 위해 내가 이것에 대해 누구에게 이야기해야하는지 말해 줄