杭电OJ-2042-递归

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2042

题目要求:

每过一个站要收一半的羊再返回一头羊,经过N个站后只剩3头羊,求刚开始有多少(M)头羊?


image.png

做题思路:

毫无疑问用递归,找出公式为:
image.png

代码:

#include "stdio.h"
int main () {
    int t,n,m,i,j;
    scanf("%d",&t);
    for (i = 0;i < t;i++) {
        m = 3;
        scanf("%d",&n);
        for(j = 0;j < n;j++) {
            m = (m-1)*2;
        }
        printf("%d\n",m);
    }
}

你可能感兴趣的:(杭电OJ-2042-递归)