题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2013
-----------------------------------------------------------------------------------
题意:每天吃掉一半再多一个,给出第几天吃到只剩一个,求开始时的数量。
思路:递推。按照每天的处理方式反向处理一下,最终得到结果。
代码:
#include<cstdio> #include<cstring> #include<algorithm> #include<iostream> #include<string> #include<vector> #include<stack> #include<bitset> #include<cstdlib> #include<cmath> #include<set> #include<list> #include<deque> #include<map> #include<queue> using namespace std; typedef long long ll; const double PI = acos(-1.0); const double eps = 1e-6; int main(void){ int N =0; while(~scanf("%d",&N)){ ll t =1; for(int i=0;i<N-1;i++){ t=(t+1)*2; } printf("%lld\n",t); } return 0; }