阿克曼函数的介绍

阿克曼函数的介绍,第1张

阿克曼函数(Ackermann)是非原始递归函数的例子。它需要两个自然数作为输入值,输出一个自然数。它的输出值增长速度非常高,仅是对于(4,3)的输出已大得不能准确计算。

接下来去找到项目的WebRot文件夹下面的WEB-INFI下面的webxml 文件,自己写上 <context-param>

<param-name>

<context-param>

<param-name>

contextConfigLocation

</param-name>

<param-value>

classpath:applicationContextxmls

</param-value>

</context-param>

</param-name>

<param-value>

classpath:applicationContextxml

</param-value>

从Ackermann函数的定义中可以看出,Ackermann函数可以看成关于n的一个函数序列,其中第0个函数返回n+1,而第m个函数则是将第m-1个函数对1迭代n+1遍。对较小的m,该函数为:

Ackermann(0,n)=n+1

Ackermann(1,n)=n+2

Ackermann(2,n)=2n+3

Ackermann(3,n)=2^(n+3)-3

Ackermann(4,n)=2^2^2^……^2-3,乘幂中共有n+3个2。

当m≥4,Ackermann函数的增长快得惊人。Ackermann(4,0)=13,Ackermann(4,1)=65533,Ackermann(4,2)=2^65536-3有19729位,而Ackermann(4,3)则即使是位数也不易估计。Ackermann(5,0)=65533,Ackermann(5,1)=Ackermann(4,65533)……

clear all

k=600;

m=65;

x(2)=110;

x(1)=20944pi/180;%%x(1)要计算它的三角函数值,转化为弧度

I=1:360;%%I的取值应该是角度吧,那把范围扩大

h=75;

I1=Ipi/180;%%i换成别的变量,避免和虚数的i混淆

%%

r=atan(m/(2h));

V=k-m/2-x(2)cos(x(1));

C=h-x(2)sin(x(1));

l2=sqrt(V^2+C^2);

%%

D=I1-x(1);%%换i为I1

B=sqrt(h^2+m^2);

M=x(2)^2+(k^2)/4+B^2-l2^2;

E=kB-(2x(2)B)cos(D);

F=((-2)x(2)B)sin(D);

X=(M-(x(2)k)cos(D))/sqrt(E^2+F^2);

Y=atan(F/E);

a=r-asin(X)+Y;

P=r+a;

H=x(2)k-(2x(2)B)sin(P);

G=(-2)x(2)Bcos(P);

T=(M-(kB)sin(P))/sqrt(H^2+G^2);

Z=atan(H/G);

J1=-x(1)-asin(T)+Z;%%同样把j换成别的符号表示

J=J1180/pi;

beta=acot(cot(I1)-600/1500);

betae=beta180/pi;

plot(I,J,'r-',I,betae,'g',I,I,'b')%%画到一幅图上

grid on

%%%%%%%%%%%%%%%%%%%%%%结果如图

  Ackermann function

  [词典][计] 阿克曼函数;

  [例句]Estimation for the constrain of the actual parameter of Ackermann

function in recursive invocation

  ACKERMANN函数递归计算中实参的约束范围估计

#include <stdioh>

int Ackermann(int m, int n)

{

  if (m == 0) return n + 1;

  if (n == 0) return Ackermann(m - 1, 1);

  return Ackermann(m - 1, Ackermann(m, n - 1));

}

int main()

{

  int m, n, a;

  scanf("%d%d", &m, &n);

  a = Ackermann(m, n);

  printf("A(%d, %d) = %d\n", m, n, a);

  return 0;

}

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/11677829.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存