喵帕斯之天才算数少女

喵帕斯之天才算数少女

Time Limit: 1000 ms Memory Limit: 65536 KiB

Problem Description

 

莲酱要上一年级了,但是老师给他出了一个特别难的算术题。

老师给出了一个函数 

 

F(m, n)的定义是:

若m=0,返回n+1。

若m>0且n=0,返回F(m-1,1)。

若m>0且n>0,返回F(m-1,F(m,n-1))。

 

给出 m 和 n,计算 F(m, n) 的值。

Input

多组输入直到EOF结束。(数据组数小于 10)

 

每组数据输入一行,包含两个非负整数 m,n。(0 <= m <= 3, 0 <= n <= 10)

Output

每组数据输出一行,为 F(m, n) 的答案

Sample Input

3 2
3 10
2 1

Sample Output

29
8189
5

Hint

Source


#include<stdio.h>
int c(int m, int n)
{
    int y, p;
    if(m == 0)
        y = n + 1;
    else if(m > 0 && n == 0)
        y = c(m - 1, 1);
    else if(m > 0 && n > 0)
    {
        p = c(m, n - 1);
        y = c(m - 1, p);
    }
    return y;
}
int main()
{
    int n1, m1, y1;
    while(scanf("%d %d", &m1, &n1) != EOF)
    {
        y1 = c(m1, n1);
        printf("%d\n", y1);
    }
    return 0;
}
阅读更多
个人分类: 递归
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭