hdu 1165 Eddy's research II

简介: hdu 1165 Eddy's research II

Eddy's research II

Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 6240    Accepted Submission(s): 2217


 

Problem Description

As is known, Ackermann function plays an important role in the sphere of theoretical computer science. However, in the other hand, the dramatic fast increasing pace of the function caused the value of Ackermann function hard to calcuate.

Ackermann function can be defined recursively as follows:


Now Eddy Gives you two numbers: m and n, your task is to compute the value of A(m,n) .This is so easy problem,If you slove this problem,you will receive a prize(Eddy will invite you to hdu restaurant to have supper).

 

 

Input

Each line of the input will have two integers, namely m, n, where 0 < m < =3.
Note that when m<3, n can be any integer less than 1000000, while m=3, the value of n is restricted within 24.
Input is terminated by end of file.

 

 

Output

For each value of m,n, print out the value of A(m,n).

 

 

Sample Input

 

1 3 2 4

 

 

Sample Output

 

5 11

 

 

Author

eddy

 

一开始读完题想到的是直接递归,但发现这样肯定会超时,想试试递推,发现有点麻烦,然后打表找规律,发现规律如下:

m=0 时                  A(m,n)=n+1

m>0&&n==0时     A(m,n)=2

m=1&&n>0时       A(m,n)=n+2

m=2&&n>0时       A(m,n)=2*(n+1)+1

m=3&&n>0时       符合以下递推公式

A[0]=13;  A[i]=A[i-1]*2+3;

 

 

 

AC代码如下:

#include<stdio.h>
/*
int A(int m,int n)
{
if(m==0) return n+1;
if(m>0&&n==0) return A(m-1,1);
if(m>0&&n>0) return A(m-1,A(m,n-1));
}
*/
int main()
{
__int64 n,m,i,A[25];
A[0]=13;
for(i=1;i<25;i++) A[i]=A[i-1]*2+3;
while(scanf("%I64d %I64d",&m,&n)!=EOF)
{
if(m==0) printf("%I64d\n",n+1);
if(m>0&&n==0) printf("2\n");
if(m>0&&n>0)
{
if(m==1) printf("%I64d\n",n+2);
if(m==2) printf("%I64d\n",2*(n+1)+1);
if(m==3) printf("%I64d\n",A[n-1]);
}
//    printf("%d\n",A(m,n));
}
return 0;
}
目录
相关文章
|
开发框架 安全 前端开发
移动应用的未来:框架、性能优化与跨平台开发的融合
随着移动设备成为日常生活的核心,移动应用开发正面临前所未有的挑战与机遇。本文深入探讨了移动应用开发的最新趋势,包括先进的开发框架、性能优化策略以及跨平台解决方案的实现。通过分析这些技术的融合,揭示了开发者如何构建更加高效、响应迅速且用户体验优良的移动应用。
204 4
用什么代码可以在页面添加html元素呢?
用什么代码可以在页面添加html元素呢?
|
10月前
|
人工智能 IDE 程序员
AI程序员入场!揭秘直播吧研发效能大提升的秘密武器
对于直播吧而言,这不仅是工具升级,更是研发模式向「人与AI协同型」跃迁的战略选择。
|
机器学习/深度学习 TensorFlow 算法框架/工具
TensorFlow中的自定义层与模型
【4月更文挑战第17天】本文介绍了如何在TensorFlow中创建自定义层和模型。自定义层通过继承`tf.keras.layers.Layer`,实现`__init__`, `build`和`call`方法。例如,一个简单的全连接层`CustomDenseLayer`示例展示了如何定义激活函数。自定义模型则继承自`tf.keras.Model`,在`__init__`中定义层,在`call`中实现前向传播。这两个功能使TensorFlow能应对特定需求和复杂网络结构,增强了其在深度学习应用中的灵活性。
|
开发工具 数据库 git
通俗易懂!看漫画学Python入门教程(全彩版)Git首发破万Star
很多编程语言书读起来都略显晦涩,让不少读者望而却步,很难坚持读完。关老师的新书另辟蹊径,以漫画形式切入,生动有趣,把复杂的技术点和编程知识讲解得通俗易懂真正体现了一图胜干言的道理。而且每章结束时都有“练一练”环节,能够帮助读者夯实基础、锻炼技能。不得不说,这是一本Python入门和进阶佳作。
通俗易懂!看漫画学Python入门教程(全彩版)Git首发破万Star
|
编解码 vr&ar Windows
亲测有效! Wondershare UniConverterV14.1.7 Wondershare PDFelement Professional V9.3
万兴格式转换器最新版具有音视频格式转换,合并视频,视频压缩,视频编辑,视频录制,视频下载,视频元数据修复,VR视频转换,字幕编辑器,GIF制作,DVD刻录等一站式视频工具箱功能.万兴转换器以超快的转换速度及强大的功能在国外名声大噪,其转换速度号称是市面同类产品的30倍,支持158种视频格式无损转换,批量转换高清视频不丢失关键帧
亲测有效! Wondershare UniConverterV14.1.7 Wondershare PDFelement Professional V9.3
|
数据采集 数据挖掘 数据格式
探讨 DataFrame 的高级功能,如数据清洗、转换和分组操作
【5月更文挑战第19天】本文探讨了DataFrame的高级功能,包括数据清洗、转换和分组操作。在数据清洗时,使用fillna处理缺失值,设定阈值或统计方法处理异常值。数据转换涉及标准化和编码,如将分类数据转为数值。分组操作用于按特定列聚合计算,支持多级分组和自定义聚合函数。掌握这些技能能有效处理和分析数据,为决策提供支持。
243 2
|
Java 网络性能优化 Kotlin
一道面试题: Kotlin 中处理生产者/消费者问题的 N 种方式
一道面试题: Kotlin 中处理生产者/消费者问题的 N 种方式
136 0
|
NoSQL PHP Redis
PHP 操作Redis
PHP 操作Redis
121 0
|
Java 测试技术 Maven
maven打包全流程原理
maven打包全流程原理
925 0