蟠桃记 HDU - 2013

蟠桃记 HDU - 2013

递归入门
题意
猴子吃桃,每天吃掉前一天剩下的一半多一个,到第n天准备吃的时候只剩下一个桃子。计算第一天开始吃的时候桃子的个数。
思路
递推问题,每天吃掉一半多一个,也就是第n天的桃子数+1后再乘2,就是第n - 1天桃子的个数,由此得出递推式。
递推式为:num[i + 1] = (num[i] + 1) * 2;

#include<iostream>
using namespace std;
long long int num[50];	//数值可能会很大 
void init()
{
    
    
	num[1] = 1;
	for(int i = 1; i < 50; i++)
		num[i + 1] = (num[i] + 1) * 2;	//递推 
}
int main()
{
    
    
	ios::sync_with_stdio(false);
	int n;
	init();
	while(cin >> n)
		cout << num[n] << endl;
	return 0;
}

猜你喜欢

转载自blog.csdn.net/qq_44826711/article/details/109633003