# Monkeys on a Tree Coding Question

## TCS Coding Question Day 2 Slot 2 : Question 1

This question has been asked in the TCS NQT 2020 Day 2 Slot 1

Topic : Conditional Statement

Time Given : 15 Minutes

Difficulty : 2/5 stars

There are total n number of Monkeys sitting on the branches of a huge Tree. As travelers offer Bananas and Peanuts, the Monkeys jump down the Tree. If every Monkey can eat k Bananas and j Peanuts. If total m number of Bananas and p number of Peanuts are offered by travelers, calculate how many Monkeys remain on the Tree after some of them jumped down to eat.
At a time one Monkeys gets down and finishes eating and go to the other side of the road. The Monkey who climbed down does not climb up again after eating until the other Monkeys finish eating.
Monkey can either eat k Bananas or j Peanuts. If for last Monkey there are less than k Bananas left on the ground or less than j Peanuts left on the ground, only that Monkey can eat Bananas(<k) along with the Peanuts(<j).
Write code to take inputs as n, m, p, k, j and return  the number of Monkeys left on the Tree.
Where, n= Total no of Monkeys
k= Number of eatable Bananas by Single Monkey (Monkey that jumped down last may get less than k Bananas)
j = Number of eatable Peanuts by single Monkey(Monkey that jumped down last may get less than j Peanuts)
m = Total number of Bananas
p  = Total number of Peanuts
Remember that the Monkeys always eat Bananas and Peanuts, so there is no possibility of k and j having a value zero

Example 1:
Input Values
20
2
3
12
12

Output Values
Number of  Monkeys left on the tree:10

Note:
Kindly follow  the order of inputs as n,k,j,m,p as given in the above example. And output must include  the same format  as in above example(Number of Monkeys left on the Tree:<Integer>)
For any wrong input display INVALID INPUT

`#include <stdio.h>int main(){    int n,k,j,m,p;    float atebanana=0.0,atepeanut=0.0;    scanf("%d %d %d %d %d",&n,&k,&j,&m,&p);    if(n<0 || k<0 || j<0 || m<0 || p<0)    {        printf("INVALID INPUT");    }    else    {        if(k>0)            atebanana =(float)m/k;        if(j>0)            atepeanut =(float) p/j;        n=n-atebanana-atepeanut;        printf("Number of Monkeys left on the Tree:%d",n);    }    return 0;}`
`import java.util.*; class Monkeys {    public static void main(String []args)    {    Scanner sc = new Scanner (System.in);    int n = sc.nextInt();    int k = sc.nextInt();    int j = sc.nextInt();    int m = sc.nextInt();    int p = sc.nextInt();    int atebanana=0 ,atepeanut=0;    if( n<0 && k<0 || j<0 || m<0 || p<0)    {        System.out.println("Invalid Input");    }    else    {        if(k>0)             atebanana =m/k;        if(j>0)             atepeanut = p/j;         n=n-atebanana-atepeanut;         System.out.println("Number of Monkeys left on the Tree: "+n);   }}}`

## Day 2 Slot 2 Question 2

Click on the below button to study Day 2 Slot 2 Question 1 of TCS NQT Coding 2020 exam

Code

## TCS Coding Questions

Click on the below button to study more TCS Coding Question

TCS Coding Question

### 2 comments on “Monkeys on a Tree Coding Question”

• Sourav

def monkey(n,k,j,m,p):
atebanana = float(0.0)
atepenuts = float(0.0)

if (n<0 or k<0 or j<0 or m<0 or p0):
atebanana = float(m/k)
if (j>0):
atepenuts = float(p/j)

n = n – atebanana – atepenuts
return n

n = int(input())
k = int(input())
j = int(input())
m = int(input())
p = int(input())
print(“Number of Monkeys left on the tree:”,monkey(n,k,j,m,p))

This is the python code for given problem. hope it’ll be helpful