The Utopian Tree goes through 2 cycles of growth every year. Each spring, it doubles in height. Each summer, its height increases by 1 meter.
A Utopian Tree sapling with a height of 1 meter is planted at the onset of spring. How tall will the tree be after n growth cycles?
For example, if the number of growth cycles is n=5, the calculations are as follows:
Period Height 0 1 1 2 2 3 3 6 4 7 5 14
Function Description
Complete the utopianTree function in the editor below.
utopianTree has the following parameter(s):
- int n: the number of growth cycles to simulate
Returns
- int: the height of the tree after the given number of cycles
Input Format
The first line contains an integer,t , the number of test cases.
t subsequent lines each contain an integer,n , the number of cycles for that test case.
Constraints
1<=t<=10
0<=n<=60
Sample Input
3 0 1 4
Sample Output
1 2 7
Utopian Tree HackerRank Solution in C
#include <stdio.h> #include <string.h> #include <math.h> #include <stdlib.h> int main() { int t,i,n; scanf("%d",&t); while(t>0) { int h=1; scanf("%d",&n); for(i=1;i<=n;i++) { if(i%2==1) h=2*h; else h=h+1; } printf("%d\n",h); t=t-1; } return 0; }
Utopian Tree HackerRank Solution in C++
#include <bits/stdc++.h> using namespace std; typedef pair<int, int> ii; typedef vector<ii> vii; typedef vector<int> vi; #define FOR(i,s,e) for (int i = int(s); i != int(e); i++) #define FORIT(i,c) for (typeof((c).begin()) i = (c).begin(); i != (c).end(); i++) #define sz(v) (int)v.size() #define all(c) (c).begin(), (c).end() typedef long long int ll; int main() { int t; while (scanf("%d", &t) == 1) { for (int i = 0; i < t; i++) { int n; scanf("%d", &n); int height = 1; for (int j = 0; j < n; j++) { if (j % 2 == 0) height *= 2; else height++; } printf("%d\n", height); } } return 0; }
Utopian Tree HackerRank Solution in Java
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintWriter; public class Solution { public static void main(String[] args) throws NumberFormatException, IOException { BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in)); PrintWriter printWriter = new PrintWriter(System.out); int testCount = Integer.parseInt(bufferedReader.readLine()); while(testCount-- > 0) { printWriter.println(getAnswer(Integer.parseInt(bufferedReader.readLine()))); } printWriter.flush(); } private static long getAnswer(int n) { long h = 1; for(int i = 1 ; i <= n ; i++) { if(i % 2 != 0) h *= 2; else h +=1 ; } return h; } }
Utopian Tree HackerRank Solution in Python
for i in range(input()): n=input() h=1 for i in range(1,n+1): if i&1:h*=2 else:h+=1 print h
Utopian Tree HackerRank Solution in C#
using System; using System.Collections.Generic; using System.IO; class Solution { static void Main(String[] args) { int T=Convert.ToInt32(Console.ReadLine()); for (int i=0;i<T;i++){ int N=Convert.ToInt32(Console.ReadLine()); int rez=1; bool pomnozi=true; while(N>0){ if (pomnozi){ rez*=2; } else{ rez++; } pomnozi=!pomnozi; N--; } Console.WriteLine(rez.ToString()); } } }
Attempt – HackerRank Challenge
Link – https://www.hackerrank.com/challenges/utopian-tree/
Next HackerRank Challenge Solution
Link – https://exploringbits.com/angry-professor-hackerrank-solution/
Aayush Kumar Gupta is the founder and creator of ExploringBits, a website dedicated to providing useful content for people passionate about Engineering and Technology. Aayush has completed his Bachelor of Technology (Computer Science & Engineering) from 2018-2022. From July 2022, Aayush has been working as a full-time Devops Engineer.