Utopian Tree - HackerRank || HackerRank Utopian Tree Solution
Problem Name: Utopian Tree
Judge: HackerRank
Problem link: Utopian Tree
HackerRank Utopian Tree Solution in C
#include <stdio.h>
#include <math.h>
int main()
{
int n, i;
scanf("%d", &n);
int array[n];
for (i = 0; i < n; i++) scanf("%d", &array[i]);
for (i = 0; i < n; i++)
{
if (array[i] % 2 == 0)
{
int raise = (pow(2, array[i] / 2) * 2) - 1;
printf("%d\n", raise);
}
else
{
int raise = ((pow(2, (array[i] - 1) / 2) * 2) - 1) * 2;
printf("%d\n", raise);
}
}
return 0;
}
HackerRank Utopian Tree Solution in C++/Cpp
#include <bits/stdc++.h>
using namespace std;
int main()
{
int n, i;
cin >> n;
int array[n];
for (i = 0; i < n; i++) cin >> array[i];
for (i = 0; i < n; i++)
{
if (array[i] % 2 == 0)
{
int raise = (pow(2, array[i] / 2) * 2) - 1;
cout << raise << endl;
}
else
{
int raise = ((pow(2, (array[i] - 1) / 2) * 2) - 1) * 2;
cout << raise << endl;
}
}
return 0;
}
HackerRank Utopian Tree Solution in Java
import java.util.Scanner;
public class Utopian_Tree {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int n = input.nextInt();
int[] array = new int[n];
double raise;
for (int i = 0; i < n; i++) array[i] = input.nextInt();
for (int i = 0; i < n; i++) {
if (array[i] % 2 == 0) {
raise = ((Math.pow(2, (double) array[i] / 2) * 2) - 1);
} else {
raise = (((Math.pow(2, (double) (array[i] - 1) / 2) * 2) - 1) * 2);
}
System.out.println((int) raise);
}
}
}
