O(n!)很低,连两个高德纳箭头都比不上,挑战葛立恒数的话题早就烂大街了,怎么还把阶乘当个宝?我随便写两个例子吧。
①int ack(int x,int y){
if(x≥0&&y≥0){
if(x==0){return y+1;}
else if(y==0){return ack(x-1,1);}
else{return ack(x-1,ack(x,y-1);}
}
int main(){
int x;
printf("请输入正整数x");
scanf("%d",&x);
printf(ack(x,x));
}
这个程序计算阿克曼函数ack(x,y)。而ack(x,x)~fω(x)已经达到了高德纳箭头的极限。
②以下把float当作无限精度。
float xxy(float x){
if(x≤0){return 0-x;}
else{return 0.25*xxy(x-xxy(x-xxy(x-xxy(x-1))));
}
int main()
{
int x;
printf("请输入正整数x");
scanf("%d",&x);
printf(1/xxy((float)x);
}
这个程序的输出值1/xxy(x)已经达到了fφ(3,0)(x),复杂度已经超过了PA可证的极限。
发布于 2023-07-25 12:51・IP 属地广东
真诚赞赏,手留余香
还没有人赞赏,快来当第一个赞赏的人吧!