类似汉诺塔问题,重点在于找到前后项之间的递推关系,编写函数来实现。代码会很简洁易懂,方便维护。
#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; }