类似汉诺塔问题,重点在于找到前后项之间的递推关系,编写函数来实现。代码会很简洁易懂,方便维护。
#include <stdio.h>
int MiniStep(int x);
int main(void)
{
int n, ans;
while(scanf("%d", &n) != -1)
{
ans = MiniStep(n);
printf("%d\n", ans);
}
return 0;
}
int MiniStep(int x)
{
int jackpot;
if(x == 1)
jackpot = 2;
else
jackpot = MiniStep(x - 1) * 3 + 2;
return jackpot;
}

京公网安备 11010502036488号