乌托邦树
题目描述
实现一个算法得到乌托邦树的高度。介绍如下:乌托邦树每年经历 2 个生长周期。每年春天,它的高度都会翻倍。每年夏天,它的高度都会增加 1 米。对于一颗在春天开始时种下的高 1 米的树,问经过指定周期后,树的高度为多少。
输入描述
输入一个数字 N (0 ≤ N ≤ 1000),表示指定周期。
输出描述
输出一个数字,为经过指定周期后树的高度。
输入输出样例
输入
3
输出
6
运行限制
最大运行时间:1s
最大运行内存: 256M
#include <bits/stdc++.h>
using namespace std;
int main() {
int n;
int m = 1; //初始高度为1
cin >> n;
int cnt = n / 2;
while (cnt--) {
m *= 2;
m += 1;
}
if (n % 2 != 0) { //奇数需多执行一个春天周期
m *= 2;
}
cout << m ;
return 0;
}