Wednesday, 11 March 2015

Utopian Tree

Problem Statement
The Utopian Tree goes through 2 cycles of growth every year. The first growth cycle occurs during the spring, when it doubles in height. The second growth cycle occurs during the summer, when its height increases by 1meter.
Now, a new Utopian Tree sapling is planted at the onset of spring. Its height is 1 meter. Can you find the height of the tree after N growth cycles?
Input Format
The first line contains an integer, T, the number of test cases. 
T lines follow; each line contains an integer, N, that denotes the number of cycles for that test case.
Constraints 
1T10 
0N60
Output Format
For each test case, print the height of the Utopian Tree after N cycles. Each line thus has to contain a single integer, only.
Sample Input
3
0
1
4
Sample Output
1
2
7
Explanation
There are 3 test cases.
In the first case (N=0), the height of the tree remains unchanged.
In the second case (when N = 1, i.e. after the 1st cycle), the tree doubles its height as it's planted at the onset of spring.
In the third case (N=4), the tree first doubles its height (2), then grows a meter (3), then doubles again (6), before growing another meter; at the end of the 4th cycle, its height is 7 meters.


/*code written by Sudhakar PAndey */
#include <stdio.h>
#include <string.h>
#include <math.h>
#include <stdlib.h>
void height(int );
int main() {
    int i,n;
    scanf("%d",&n); 
    int arr[n]; 
     for(i=0;i<n;i++)
        scanf("%d",&arr[i]);
    for(i=0;i<n;i++)
        height(arr[i]);
     return 0;
}
void height(int n)
{    
    int h=1,i;
    for(i=0;i<=n;i++)
     {
        if(i==0)
            h=1;
        else
           { 
             if((i%2)==0)
                 h=h+1;
             else
                 h=h*2;
             }
     }   
    printf("%d\n",h);
}

No comments:

Post a Comment