Given a Binary Tree, find vertical sum of the nodes that are in same vertical line. Print all sums through different vertical lines. Examples: 1 / \ 2 3 / \ / \ 4 5 6 7 The tree has 5 vertical lines Vertical-Line-1 has only one node 4 => vertical sum is 4 Vertical-Line-2: has only one node 2=> vertical sum is 2 Vertical-Line-3: has three nodes: 1,5,6 => vertical sum is 1+5+6 = 12 Vertical-Line-4: has only one node 3 => vertical sum is 3 Vertical-Line-5: has only one node 7 => vertical sum is 7 So expected output is 4, 2, 12, 3 and 7
int *arr;
ReplyDeleteint getNextPrime(int index)
{
int i;
int check=0;
bool flag = false;
for(i=arr[index-1]+2;;i=i+2)
{
flag = false;
check =0;
while(check < index && arr[check]<=sqrt(i))
{
if(i%arr[check] == 0)
{
flag = true;
break;
}
check++;
}
if(!flag)
{
return i;
}
}
}
int main()
{
int n,i=2;
int k=3;
cout<<"Enter the value of n"<>n;
arr = (int*)malloc(sizeof(int)*n);
arr[0]=2;arr[1] = 3;
while(i<n)
{
arr[i] = getNextPrime(i);
i++;
}
cout<<arr[n]<<"\n";
return 0;
}