杭电acm2013问题,公式3*pow(2,n-1)+2是怎么来的?求细节

公式应该是3*pow(2,n-1)-2。

设A(n)为第n天准备吃时剩下的桃子数。

a(n)= 1;

A(n-1)=(A(n)+1)* 2 = 4

A(n-2)=(A(n-1)+1)* 2 = 10;

于是得到公式A(n-1)=(A(n)+1)* 2;

即A(n-2)+2 = 2 * (A(n)+2),即(A(n-2)+2)/(A(n)+2) = 2。

(A(n-1)+2) / (A(n)+2) = 2

(A(n-2)+2) / (A(n-1)+2) = 2

...

...

(A(2)+2) / (A(3)+2) = 2

(A(1)+2) / (A(2)+2) = 2

将以上公式相乘得到(a(1)+2)/(a(n)+2)= 2(n-1)。

简化就是a (1) = 3 * 2 (n-1)-2。

最后,附上我的代码:

# include & ltiostream & gt

使用命名空间std

int main()

{

int n;

while(~scanf("%d ",& ampn))

{

printf("%d\n ",(1 & lt;& lt(n-1))* 3-2);

}

返回0;

}

希望对你有帮助。