杭电HDUoj2013---蟠桃记/c++

目录

题目

解题思路

完整代码


题目

        喜欢西游记的同学肯定都知道悟空偷吃蟠桃的故事,你们一定都觉得这猴子太闹腾了,其实你们是有所不知:悟空是在研究一个数学问题!
什么问题?他研究的问题是蟠桃一共有多少个!
不过,到最后,他还是没能解决这个难题,呵呵^-^
当时的情况是这样的:
第一天悟空吃掉桃子总数一半多一个,第二天又将剩下的桃子吃掉一半多一个,以后每天吃掉前一天剩下的一半多一个,到第n天准备吃的时候只剩下一个桃子。聪明的你,请帮悟空算一下,他第一天开始吃的时候桃子一共有多少个呢?

解题思路

        这题不是很难,如果没捋清楚思路可以反向读题,也就是:第一天有1颗桃子之后每天桃子都会再这个基础上增加1个然后翻倍。

完整代码

#include
using namespace std;

int main()
{
	int n;
	int peach;
	while(cin >> n)
	{
		peach = 1;						//第n天剩一颗桃子,反向运算时候第一天就是1颗桃子
		for(int i = 1;i < n;i++)		//开始计算时候就是处于第一天所以i的起始位置是1
		{
			peach = (peach + 1)*2;		//需要注意的是要先加再乘
		}
		cout << peach << endl;
	}
	return 0;
}

你可能感兴趣的:(HDUoj题目集,算法,c++)