bjfu1025 Ackermann函数

    xiaoxiao2026-04-09  2

    Ackermann函数

    时间限制(C/C++):1000MS/3000MS          运行内存限制:65536KByte 总提交:277            测试通过:79

    描述

    计算Ackermann函数值?天方夜谭吧?

    不错,Ackermann函数是增长速度极快的递归函数,要计算其函数值当然是相当困难的。

    Ackermann函数定义如下:

    本题中我们只需要计算当m=3时Ackermann函数的值

    输入

    输入包含多组测试数据,每组测试数据占一行,为一个64位整数n

    输出

    对每组输入的n,请输出Ackermann函数当m=3时的值,也就是A(3,n)。最后结果对9223372036854775807取余。

    样例输入

    5 10 100

    样例输出

    253 8189 1099511627773

    题目来源

    ben

    解题思路:找规律~

    AC代码:

    #include<stdio.h> int main() { __int64 n,a[64],i; a[1]=13; a[2]=29; a[61]=9223372036854775806; a[62]=1; a[63]=5; for(i=3;i<61;i++) a[i]=a[i-1]*2+3; while(scanf("%I64d",&n)!=EOF) { n%=63; if(n==0) printf("%I64d\n",a[63]); else printf("%I64d\n",a[n]); } return 0; }

    转载请注明原文地址: https://ju.6miu.com/read-1308667.html
    最新回复(0)