猴子第一天摘下若干个桃子,当即吃了2/3,还不过瘾,又多吃了一个,第二天早上又将剩下的桃子吃掉2/3,又多吃了一个。以后每天早上都吃了前一天剩下的2/3再多一个。到第n天早上想再吃时,发现只剩下k个桃子了。求第一天共摘了多少桃子。
输入格式:
首先输入一个正整数T,表示测试数据的组数,然后是T组测试数据。每组数据输入2个正整数n,k(1≤n,k≤15)。
输出格式:
对于每组测试数据,在一行上输出第一天共摘了多少个桃子。
输入样例:
2
2 1
4 2
输出样例:
6
93
下面话不多说,直接上代码。
其实像猴子吃桃这类问题,一看就知道用递归去写特别方便。
#include <stdio.h>
int fun(int n,int k)
{return n==1?k:fun(n-1,(k+1)*3);
}
int main()
{int t,n,k;scanf("%d",&t);while(t){scanf("%d%d",&n,&k);printf("%d\n",fun(n,k));t--;}return 0;
}
各位读者大老爷们,亲测有效,如果喜欢的话就麻烦点个赞!!