TCS NQT Coding Question
1. Problem Statement
There is a JAR full of candies for sale at a mall counter. JAR has the capacity N, that is JAR can contain
maximum N candies when JAR is full. At any point of time. JAR can have M number of Candies where
M<=N. Candies are served to the customers. JAR is never remain empty as when last k candies are left.
JAR if refilled with new candies in such a way that JAR get full.
Write a code to implement above scenario. Display JAR at counter with available number of candies.
Input should be the number of candies one customer can order at point of time. Update the JAR after
each purchase and display JAR at Counter.
Output should give number of Candies sold and updated number of Candies in JAR.
If Input is more than candies in JAR, return: “INVALID INPUT”
Given,
N=10, where N is NUMBER OF CANDIES AVAILABLE
K =< 5, where k is number of minimum candies that must be inside JAR ever.
Example 1:(N = 10, k =< 5)
• Input Value
o 3
• Output Value
o NUMBER OF CANDIES SOLD : 3
o NUMBER OF CANDIES AVAILABLE : 7
Example : (N=10, k<=5)
• Input Value
o 0
• Output Value
o INVALID INPUT
o NUMBER OF CANDIES LEFT : 10
2. Problem Statement
Selection of MPCS exams include a fitness test which is conducted on ground. There will be a batch of
3 trainees, appearing for running test in track for 3 rounds. You need to record their oxygen level after
every round. After trainee are finished with all rounds, calculate for each trainee his average oxygen
level over the 3 rounds and select one with highest oxygen level as the most fit trainee. If more than
one trainee attains the same highest average level, they all need to be selected.
Display the most fit trainee (or trainees) and the highest average oxygen level.
Note:
• The oxygen value entered should not be accepted if it is not in the range between 1 and
100.
• If the calculated maximum average oxygen value of trainees is below 70 then declare the
trainees as unfit with meaningful message as “All trainees are unfit.
• Average Oxygen Values should be rounded.
Example 1:
• INPUT VALUES
95
92
95
92
90
92
90
92
90
• OUTPUT VALUES
o Trainee Number : 1
o Trainee Number : 3
Note:
Input should be 9 integer values representing oxygen levels entered in order as
Round 1
• Oxygen value of trainee 1
• Oxygen value of trainee 2
• Oxygen value of trainee 3
Round 2
• Oxygen value of trainee 1
• Oxygen value of trainee 2
• Oxygen value of trainee 3
Round 3
• Oxygen value of trainee 1
• Oxygen value of trainee 2
• Oxygen value of trainee 3
Output must be in given format as in above example. For any wrong input final output should
display “INVALID INPUT”
3. Problem Statement
A washing machine works on the principle of Fuzzy System, the weight of clothes put inside it for
washing is uncertain But based on weight measured by sensors, it decides time and water level which
can be changed by menus given on the machine control area.
For low level water, the time estimate is 25 minutes, where approximately weight is between 2000
grams or any nonzero positive number below that.
For medium level water, the time estimate is 35 minutes, where approximately weight is between 2001
grams and 4000 grams.
For high level water, the time estimate is 45 minutes, where approximately weight is above 4000 grams.
Assume the capacity of machine is maximum 7000 grams
Where approximately weight is zero, time estimate is 0 minutes.
Write a function which takes a numeric weight in the range [0,7000] as input and produces estimated
time as output is: “OVERLOADED”, and for all other inputs, the output statement is
“INVALID INPUT”.
Input should be in the form of integer value –
Output must have the following format –
Time Estimated: Minutes
Example:
• Input value
2000
• Output value
Time Estimated: 25 minutes
4. Problem Statement
The Caesar cipher is a type of substitution cipher in which each alphabet in the plaintext or messages is
shifted by a number of places down the alphabet.
For example, with a shift of 1, P would be replaced by Q, Q would become R, and so on.
To pass an encrypted message from one person to another, it is first necessary that both parties have the
‘Key’ for the cipher, so that the sender may encrypt and the receiver may decrypt it.
Key is the number of OFFSET to shift the cipher alphabet. Key can have basic shifts from 1 to 25
positions as there are 26 total alphabets.
As we are designing custom Caesar Cipher, in addition to alphabets, we are considering numeric digits
from 0 to 9. Digits can also be shifted by key places.
For Example, if a given plain text contains any digit with values 5 and keyy =2, then 5 will be replaced
by 7, “-”(minus sign) will remain as it is. Key value less than 0 should result into “INVALID INPUT”
Example 1:
Enter your PlainText: All the best
Enter the Key: 1
The encrypted Text is: Bmm uif Cftu
Write a function CustomCaesarCipher(int key, String message) which will accept plaintext and key as
input parameters and returns its cipher text as output.
5. Problem Statement
We want to estimate the cost of painting a property. Interior wall painting cost is Rs.18 per
sq.ft. and exterior wall painting cost is Rs.12 per sq.ft.
Take input as
1. Number of Interior walls
2. Number of Exterior walls
3. Surface Area of each Interior 4. Wall in units of square feet
Surface Area of each Exterior Wall in units of square feet
If a user enters zero as the number of walls then skip Surface area values as User may
don’t want to paint that wall.
Calculate and display the total cost of painting the property
Example 1:
6
3
12.3
15.2
12.3
15.2
12.3
15.2
10.10
10.10
10.00
Total estimated Cost : 1847.4 INR
Note: Follow in input and output format as given in above example
6. Problem Statement
A City Bus is a Ring Route Bus which runs in circular fashion. That is, Bus once starts at the Source
Bus Stop, halts at each Bus Stop in its Route and at the end it reaches the Source Bus Stop again.
If there are n number of Stops and if the bus starts at Bus Stop 1, then after nth Bus Stop, the next
stop in the Route will be Bus Stop number 1 always.
If there are n stops, there will be n paths.One path connects two stops. Distances (in meters) for all
paths in Ring Route is given in array Path[] as given below:
Path = [800, 600, 750, 900, 1400, 1200, 1100, 1500]
Fare is determined based on the distance covered from source to destination stop as Distance between
Input Source and Destination Stops can be measured by looking at values in array Path[] and fare can
be calculated as per following criteria:
• If d =1000 metres, then fare=5 INR
• (When calculating fare for others, the calculated fare containing any fraction value should be
ceiled. For example, for distance 900n when fare initially calculated is 4.5 which must be
ceiled to 5)
Path is circular in function. Value at each index indicates distance till current stop from the previous
one. And each index position can be mapped with values at same index in BusStops [] array, which is
a string array holding abbreviation of names for all stops as-
“THANERAILWAYSTN” = ”TH”, “GAONDEVI” = “GA”, “ICEFACTROY” = “IC”,
“HARINIWASCIRCLE” = “HA”, “TEENHATHNAKA” = “TE”, “LUISWADI” = “LU”,
“NITINCOMPANYJUNCTION” = “NI”, “CADBURRYJUNCTION” = “CA”
Given, n=8, where n is number of total BusStops.
BusStops = [ “TH”, ”GA”, ”IC”, ”HA”, ”TE”, ”LU”, ”NI”,”CA” ]
Write a code with function getFare(String Source, String Destination) which take Input as source and
destination stops(in the format containing first two characters of the Name of the Bus Stop) and
calculate and return travel fare.
Example 1:
Input Values
ca
Ca
Output Values
INVALID OUTPUT
Example 2:
Input Values
NI
HA
Output Values
23.0 INR
Note: Input and Output should be in format given in example.
Input should not be case sensitive and output should be in the format INR
7. Problem Statement
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:)
For any wrong input display INVALID INPUT
8. Problem Statement
Chain Marketing Organization has has a scheme for income generation, through which its members
generate income for themselves. The scheme is such that suppose A joins the scheme and makes R
and V to join this scheme then A is Parent Member of R and V who are child Members. When any
member joins the scheme then the parent gets total commission of 10% from each of its child
members.
Child members receive commission of 5% respectively. If a Parent member does not have any
member joined under him, then he gets commission of 5%.
Take name of the members joining the scheme as input.
Display how many members joined the scheme including parent member.Calculate the Total
commission gained by each members in the scheme. The fixed amount for joining the scheme is
Rs.5000 on which commission will be generated
SchemeAmount = 5000
Example 1: When there are more than one child members
Input : (Do not give input prompts.Accept values as follows. )
Amit //Enter parent Member as this
Y //Enter Y if Parent member has child members otherwise enter N
Rajesh,Virat //Enter names of child members of Amit in comma separated
Output:(Final Output must be in format given below.)
TOTAL MEMBERS:3
COMISSION DETAILS
Amit: 1000 INR
Rajesh :250 INR
Virat: 250 INR
Example 2: When there is only one child member in the hierarchy
Input :
Amit
Y
Rajesh
Output:
Total Members: 2
Comission Details
Amit: 500 INR
Rajesh: 250 INR
9. Problem Statement
FULLY AUTOMATIC VENDING MACHINE – dispenses your cuppa on just press of button. A
vending machine can serve range of products as follows:
Coffee
1. Espresso Coffee
2. Cappuccino Coffee
3. Latte Coffee
Tea
1. Plain Tea
2. Assam Tea
3. Ginger Tea
4. Cardamom Tea
5. Masala Tea
6. Lemon Tea
7. Green Tea
8. Organic Darjeeling Tea
Soups
1. Hot and Sour Soup
2. Veg Corn Soup
3. Tomato Soup
4. Spicy Tomato Soup
Beverages
1. Hot Chocolate Drink
2. Badam Drink
3. Badam-Pista Drink
Write a program to take input for main menu & sub menu and display the name of sub menu
selected in the following format (enter the first letter to select main menu):
Welcome to CCD
Enjoy your
Example 1:
• Input:
o c
o 1
• Output
o Welcome to CCD!
o Enjoy your Espresso Coffee!
Example 2:
• Input
o t
o 9
• Output
o INVALID OUTPUT!
10. Problem Statement
A doctor has a clinic where he serves his patients. The doctor’s consultation fees are different for
different groups of patients depending on their age. If the patient’s age is below 17, fees is 200 INR. If
the patient’s age is between 17 and 40, fees is 400 INR. If patient’s age is above 40, fees is 300 INR.
Write a code to calculate earnings in a day for which one array/List of values representing age of patients
visited on that day is passed as input.
Note:
• Age should not be zero or less than zero or above 120
• Doctor consults a maximum of 20 patients a day
• Enter age value (press Enter without a value to stop):
Example 1:
• Input
20
30
40
50
2
3
14
• Output
Total Income 2000 INR
Note: Input and Output Format should be same as given in the above example.
For any wrong input display INVALID INPUT
Output Format
• Total Income <Integer> INR
11. Problem Statement
Checking if a given year is leap year or not
Explanation:
To check whether a year is leap or not
Step 1:
• We first divide the year by 4.
• If it is not divisible by 4 then it is not a leap year.
• If it is divisible by 4 leaving remainder 0
Step 2:
• We divide the year by 100
• If it is not divisible by 100 then it is a leap year.
• If it is divisible by 100 leaving remainder 0
Step 3:
• We divide the year by 400
• If it is not divisible by 400 then it is a leap year.
• If it is divisible by 400 leaving remainder 0
Then it is a leap year
12. Problem Statement
Prime Numbers with a Twist
Ques. Write a code to check whether no is prime or not. Condition use function check() to find
whether entered no is positive or negative ,if negative then enter the no, And if yes pas no as a
parameter to prime() and check whether no is prime or not?
• Whether the number is positive or not, if it is negative then print the message “please
enter the positive number”
• It is positive then call the function prime and check whether the take positive number is
prime or not.
13. Problem Statement
Number Series with a Twist – 1
Find the 15th term of the series?
0,0,7,6,14,12,21,18, 28
Explanation : In this series the odd term is increment of 7 {0, 7, 14, 21, 28, 35 – – – – – – }
And even term is a increment of 6 {0, 6, 12, 18, 24, 30 – – – – – – }
14. Problem Statement
Number Series with a Twist 2
Consider the following series: 1, 1, 2, 3, 4, 9, 8, 27, 16, 81, 32, 243, 64, 729, 128, 2187 …
This series is a mixture of 2 series – all the odd terms in this series form a geometric series and all the
even terms form yet another geometric series. Write a program to find the Nth term in the series.
The value N in a positive integer that should be read from STDIN. The Nth term that is calculated by
the program should be written to STDOUT. Other than value of nth term, no other character / string or
message should be written to STDOUT. For example, if N=16, the 16th term in the series is 2187, so
only value 2187 should be printed to STDOUT.
You can assume that N will not exceed 30.
15. Problem Statement
Number Series with a Twist 3
Consider the below series :
0, 0, 2, 1, 4, 2, 6, 3, 8, 4, 10, 5, 12, 6, 14, 7, 16, 8
This series is a mixture of 2 series all the odd terms in this series form even numbers in ascending
order and every even terms is derived from the previous term using the formula (x/2)
Write a program to find the nth term in this series.
The value n in a positive integer that should be read from STDIN the nth term that is calculated by the
program should be written to STDOUT. Other than the value of the nth term no other characters
/strings or message should be written to STDOUT.
For example if n=10,the 10 th term in the series is to be derived from the 9th term in the series. The
9th term is 8 so the 10th term is (8/2)=4. Only the value 4 should be printed to STDOUT.
You can assume that the n will not exceed 20,000.
16. Problem Statement
String with a Twist
1. The program will recieve 3 English words inputs from STDIN
1. These three words will be read one at a time, in three separate line
2. The first word should be changed like all vowels should be replaced by %
3. The second word should be changed like all consonants should be replaced by #
4. The third word should be changed like all char should be converted to upper case
5. Then concatenate the three words and print them
Other than these concatenated word, no other characters/string should or message should be written to
STDOUT
For example if you print how are you then output should be h%wa#eYOU.
You can assume that input of each word will not exceed more than 5 chars
17. Problem Statement
Addition of two numbers a Twist
1. Using a method, pass two variables and find the sum of two numbers.
Test case:
Number 1 – 20
Number 2 – 20.38
Sum = 40.38
There were a total of 4 test cases. Once you compile 3 of them will be shown to you and 1 will be a
hidden one. You have to display error message if numbers are not numeric.
18. Problem Statement
Consider the below series :
0, 0, 2, 1, 4, 2, 6, 3, 8, 4, 10, 5, 12, 6, 14, 7, 16, 8
This series is a mixture of 2 series all the odd terms in this series form even numbers in ascending
order and every even terms is derived from the previous term using the formula (x/2)
Write a program to find the nth term in this series.
The value n in a positive integer that should be read from STDIN the nth term that is calculated by the
program should be written to STDOUT. Other than the value of the nth term no other characters
/strings or message should be written to STDOUT.
For example if n=10,the 10 th term in the series is to be derived from the 9th term in the series. The
9th term is 8 so the 10th term is (8/2)=4. Only the value 4 should be printed to STDOUT.
You can assume that the n will not exceed 20,000.
19. Problem Statement
Find the nth term of the series.
1,1,2,3,4,9,8,27,16,81,32,243,….