Are you preparing for the TCS NQT 2025 and feeling unsure about the coding section? You’re not alone. Every year, lakhs of candidates compete for opportunities at Tata Consultancy Services (TCS), and the TCS nqt coding questions section is one of the most critical components of the selection process.
—Register for TCS NQT 2025 here
In this comprehensive blog, we will guide you through:
tcs nqt coding questions |
This guide is 100% beginner-friendly and updated as per the latest TCS NQT 2025 syllabus.
Table of Contents
- What is TCS NQT?
- TCS NQT 2025 Exam Pattern
- Overview of TCS Coding Round
- Top 15 TCS Coding Questions with Solutions
- Key Programming Topics to Prepare
- TCS Coding Practice Strategy (1 Month Plan)
- FAQs
- Final Tips & Call-to-Action
What is TCS NQT?
TCS National Qualifier Test (NQT) is a national-level recruitment exam conducted by TCS to hire fresh graduates for entry-level roles. NQT scores are not only accepted by TCS but also by various other corporate partners.
It evaluates candidates across four key domains:
- Verbal Ability
- Reasoning Ability
- Numerical Ability
- Programming Logic and Coding
The most challenging and career-defining round, however, is the coding section, which tests your ability to solve real-world programming problems.
Eligibility:
- UG/PG/Diploma final year students (any stream)
- Pass outs from 2024, 2023, 2022 batches
TCS NQT 2025 Exam Pattern
Here is the official updated exam pattern for TCS NQT 2025 (for IT Role):
Section | Questions | Duration |
---|---|---|
Numerical Ability | 26 | 40 mins |
Verbal Ability | 24 | 30 mins |
Reasoning Ability | 30 | 50 mins |
Programming Logic | 10 | 15 mins |
Coding | 2 | 45 mins |
Important Notes:
- There is no negative marking.
- You can choose from C, C++, Java, Python, or Perl for coding.
Overview of TCS Coding Round
In the TCS coding section, you will be given 2 questions:
- Q1: Easy to Medium level
- Q2: Medium to Hard level
These are practical problem-solving questions, often testing algorithms, logic, and basic data structures.
Key Expectations:
- Write syntactically correct and optimized code
- Handle edge cases
- Pass all hidden test cases
Also Read: Blog
Top 15 TCS NQT Coding Questions with Detailed Solutions
Let’s walk through the most commonly asked TCS NQT coding questions. Each question is followed by an explanation and Python code. These can easily be translated into C/C++/Java.
1. Reverse a String Without Built-In Function
def reverse_string(s): reversed_s = '' for char in s: reversed_s = char + reversed_s return reversed_s print(reverse_string("TCSNQT"))
2. Check Prime Number
def is_prime(n): if n <= 1: return False for i in range(2, int(n**0.5) + 1): if n % i == 0: return False return True print(is_prime(17))
3. Fibonacci Series
def fibonacci(n): a, b = 0, 1 for _ in range(n): print(a, end=' ') a, b = b, a + b fibonacci(7)
4. Factorial using Recursion
def factorial(n): return 1 if n == 0 else n * factorial(n-1) print(factorial(5))
5. Palindrome Checker
def is_palindrome(s): return s == s[::-1] print(is_palindrome("madam"))
6. Missing Number in Array
def find_missing(arr, n): total = n * (n + 1) // 2 return total - sum(arr) print(find_missing([1, 2, 3, 5], 5)) # Output: 4
7. Count Vowels in String
def count_vowels(s): return sum(1 for c in s.lower() if c in 'aeiou') print(count_vowels("NQT Preparation"))
8. Sum of Digits
def digit_sum(n): return sum(int(d) for d in str(n)) print(digit_sum(1234))
9. Armstrong Number
def is_armstrong(n): num = str(n) return n == sum(int(i)**len(num) for i in num) print(is_armstrong(153))
10. Second Largest Number
def second_largest(nums): unique_nums = list(set(nums)) unique_nums.sort() return unique_nums[-2] print(second_largest([1, 2, 3, 4, 5]))
11. Check Leap Year
def is_leap(year): return year % 4 == 0 and (year % 100 != 0 or year % 400 == 0) print(is_leap(2024))
12. Remove Duplicates from List
def remove_duplicates(lst): return list(set(lst)) print(remove_duplicates([1, 2, 2, 3, 4, 4]))
13. Print Pattern
def print_pattern(n): for i in range(1, n + 1): print('*' * i) print_pattern(5)
14. GCD of Two Numbers
def gcd(a, b): while b: a, b = b, a % b return a print(gcd(12, 18))
15. Binary to Decimal
def binary_to_decimal(binary): return int(binary, 2) print(binary_to_decimal("1010"))
Key Programming Topics to Prepare for TCS Coding Round
To crack the TCS NQT coding questions section, focus on the following topics:
- Strings (palindromes, reverse, count vowels)
- Arrays (missing number, second largest, duplicates)
- Loops and Recursion
- Number Theory (prime, Armstrong, factorial)
- Patterns and Mathematical Problems
- Sorting and Searching (basic level)
- Functions and Conditional Logic
Problem Statement –
A chocolate factory is packing chocolates into the packets. The chocolate packets here represent an array of N number of integer values. The task is to find the empty packets(0) of chocolate and push it to the end of the conveyor belt(array).
Example 1 :
N=8 and arr = [4,5,0,1,9,0,5,0].
There are 3 empty packets in the given set. These 3 empty packets represented as O should be pushed towards the end of the array
Input :
8 – Value of N
[4,5,0,1,9,0,5,0] – Element of arr[O] to arr[N-1],While input each element is separated by newline
Output:
4 5 1 9 5 0 0 0
Example 2:
Input:
6 — Value of N.
[6,0,1,8,0,2] – Element of arr[0] to arr[N-1], While input each element is separated by newline
Output:
6 1 8 2 0 0
C
C++
Java
Python
#include<stdio.h> int main() { int n; scanf("%d", &n); int L[n]; int j = 0; for (int i = 0; i < n; i++) { int a; scanf("%d", &a); if (a != 0) { L[j] = a; j++; } } for (int i = 0; i < n; i++) { if (i < j) { printf("%d ", L[i]); } else { printf("0"); } } return 0; }
TCS NQT Coding Question – September Day 1 – Slot 1
Problem Statement –
Joseph is learning digital logic subject which will be for his next semester. He usually tries to solve unit assignment problems before the lecture. Today he got one tricky question. The problem statement is “A positive integer has been given as an input. Convert decimal value to binary representation. Toggle all bits of it after the most significant bit including the most significant bit. Print the positive integer value after toggling all bits”.
Constrains-
1<=N<=100
Example 1:
Input :
10 -> Integer
Output :
5 -> result- Integer
Explanation:
Binary representation of 10 is 1010. After toggling the bits(1010), will get 0101 which represents “5”. Hence output will print “5”.
C
C++
Java
Python
#include<stdio.h> #include<math.h> int main() { int n; scanf("%d", &n); int k = (1 << (int)(log2(n) + 1)) - 1; printf("%d", n ^ k); return 0; }
TCS NQT Coding Question Day 1 Slot 2 – Question 1
Jack is always excited about sunday. It is favourite day, when he gets to play all day. And goes to cycling with his friends.
So every time when the months starts he counts the number of sundays he will get to enjoy. Considering the month can start with any day, be it Sunday, Monday…. Or so on.
Count the number of Sunday jack will get within n number of days.
Example 1:
Input
mon-> input String denoting the start of the month.
13 -> input integer denoting the number of days from the start of the month.
Output :
2 -> number of days within 13 days.
Explanation:
The month start with mon(Monday). So the upcoming sunday will arrive in next 6 days. And then next Sunday in next 7 days and so on.
Now total number of days are 13. It means 6 days to first sunday and then remaining 7 days will end up in another sunday. Total 2 sundays may fall within 13 days.
C
C++
Java
Python
#include<stdio.h> #include<string.h> #define MAX_LENGTH 4 int main() { char s[MAX_LENGTH]; scanf("%s", s); int a, ans = 0; scanf("%d", &a); // Map weekdays to their corresponding values char weekdays[][MAX_LENGTH] = { "mon", "tue", "wed", "thu", "fri", "sat", "sun" }; int values[] = {6, 5, 4, 3, 2, 1, 0}; // Find the corresponding value for the input weekday int mapSize = sizeof(weekdays) / sizeof(weekdays[0]); int m = -1; for (int i = 0; i < mapSize; i++) { if (strcmp(s, weekdays[i]) == 0) { m = values[i]; break; } } if (m != -1) { // Calculate the answer if (a - m >= 1) { ans = 1 + (a - m) / 7; } } printf("%d", ans); return 0; }
TCS NQT Coding Question Day 1 Slot 2 – Question 2
Airport security officials have confiscated several item of the passengers at the security check point. All the items have been dumped into a huge box (array). Each item possesses a certain amount of risk[0,1,2]. Here, the risk severity of the items represent an array[] of N number of integer values. The task here is to sort the items based on their levels of risk in the array. The risk values range from 0 to 2.
Example :
Input :
7 -> Value of N
[1,0,2,0,1,0,2]-> Element of arr[0] to arr[N-1], while input each element is separated by new line.
Output :
0 0 0 1 1 2 2 -> Element after sorting based on risk severity
Example 2:
input : 10 -> Value of N
[2,1,0,2,1,0,0,1,2,0] -> Element of arr[0] to arr[N-1], while input each element is separated by a new line.
Output :
0 0 0 0 1 1 1 2 2 2 ->Elements after sorting based on risk severity.
Explanation:
In the above example, the input is an array of size N consisting of only 0’s, 1’s and 2s. The output is a sorted array from 0 to 2 based on risk severity.
C
C++
Java
Python
#include<stdio.h> void swap(int* a, int* b) { int temp = *a; *a = *b; *b = temp; } void sortArray(int arr[], int size) { int low = 0, mid = 0, high = size - 1; while (mid <= high) { if (arr[mid] == 0) { swap(&arr[low], &arr[mid]); low++; mid++; } else if (arr[mid] == 1) { mid++; } else { swap(&arr[mid], &arr[high]); high--; } } } int main() { int n; scanf("%d", &n); int a[n]; for (int i = 0; i < n; i++) { scanf("%d", &a[i]); } sortArray(a, n); for (int i = 0; i < n; i++) { printf("%d ", a[i]); } return 0; }
TCS NQT Coding Question Day 2 Slot 1 – Question 1
Given an integer array Arr of size N the task is to find the count of elements whose value is greater than all of its prior elements.
Note : 1st element of the array should be considered in the count of the result.
For example,
Arr[]={7,4,8,2,9}
As 7 is the first element, it will consider in the result.
8 and 9 are also the elements that are greater than all of its previous elements.
Since total of 3 elements is present in the array that meets the condition.
Hence the output = 3.
Example 1:
Input
5 -> Value of N, represents size of Arr
7-> Value of Arr[0]
4 -> Value of Arr[1]
8-> Value of Arr[2]
2-> Value of Arr[3]
9-> Value of Arr[4]
Output :
3
Example 2:
5 -> Value of N, represents size of Arr
3 -> Value of Arr[0]
4 -> Value of Arr[1]
5 -> Value of Arr[2]
8 -> Value of Arr[3]
9 -> Value of Arr[4]
Output :
5
Constraints
1<=N<=20
1<=Arr[i]<=10000
C
C++
java
Python
#include<stdio.h> #include<limits.h> int main() { int n, c = 0, a, m = INT_MIN; scanf("%d", &n); while (n--) { scanf("%d", &a); if (a >= m) { m = a; c++; } } printf("%d", c); return 0; }
TCS NQT Coding Question Day 2 Slot 1 – Question 2
A supermarket maintains a pricing format for all its products. A value N is printed on each product. When the scanner reads the value N on the item, the product of all the digits in the value N is the price of the item. The task here is to design the software such that given the code of any item N the product (multiplication) of all the digits of value should be computed(price).
Example 1:
Input :
5244 -> Value of N
Output :
160 -> Price
Explanation:
From the input above
Product of the digits 5,2,4,4
5*2*4*4= 160
Hence, output is 160.
C
C++
java
Python
#include<stdio.h> #include<limits.h> int main() { char s[100]; scanf("%s", s); int p = 1; for (int i = 0; i < strlen(s); i++) { p *= (s[i] - '0'); } printf("%d", p); return 0; }
TCS NQT Coding Question Day 3 Slot 2 – Question 1
A furnishing company is manufacturing a new collection of curtains. The curtains are of two colors aqua(a) and black (b). The curtains color is represented as a string(str) consisting of a’s and b’s of length N. Then, they are packed (substring) into L number of curtains in each box. The box with the maximum number of ‘aqua’ (a) color curtains is labeled. The task here is to find the number of ‘aqua’ color curtains in the labeled box.
Note :
If ‘L’ is not a multiple of N, the remaining number of curtains should be considered as a substring too. In simple words, after dividing the curtains in sets of ‘L’, any curtains left will be another set(refer example 1)
Example 1:
Input :
bbbaaababa -> Value of str
3 -> Value of L
Output:
3 -> Maximum number of a’s
Explanation:
From the input given above.
Dividing the string into sets of 3 characters each
Set 1: {b,b,b}
Set 2: {a,a,a}
Set 3: {b,a,b}
Set 4: {a} -> leftover characters also as taken as another set
Among all the sets, Set 2 has more number of a’s. The number of a’s in set 2 is 3.
Hence, the output is 3.
Example 2:
Input :
abbbaabbb -> Value of str
5 -> Value of L
Output:
2 -> Maximum number of a’s
Explanation:
From the input given above,
Dividing the string into sets of 5 characters each.
Set 1: {a,b,b,b,b}
Set 2: {a,a,b,b,b}
Among both the sets, set 2 has more number of a’s. The number of a’s in set 2 is 2.
Hence, the output is 2.
Constraints:
1<=L<=10
1<=N<=50
The input format for testing
The candidate has to write the code to accept two inputs separated by a new line.
First input- Accept string that contains character a and b only
Second input- Accept value for N(Positive integer number)
The output format for testing
The output should be a positive integer number of print the message(if any) given in the problem statement.(Check the output in Example 1, Example 2).
C
C++
Java
Python
#include<stdio.h> #include<string.h> int main() { char str[100]; scanf("%s", str); int n; scanf("%d", &n); int max = 0, count = 0; for (int i = 0; i < strlen(str); i++) {
if (i % n == 0) {
if (count > max) max = count; count = 0; } if (str[i] == 'a') count++; } if (count > max) max = count; printf("%d\n", max); return 0; }
TCS NQT Coding Question Day 3 Slot 2 – Question 2
An international round table conference will be held in india. Presidents from all over the world representing their respective countries will be attending the conference. The task is to find the possible number of ways(P) to make the N members sit around the circular table such that.
The president and prime minister of India will always sit next to each other.
Example 1:
Input :
4 -> Value of N(No. of members)
Output :
12 -> Possible ways of seating the members
Explanation:
2 members should always be next to each other.
So, 2 members can be in 2!ways
Rest of the members can be arranged in (4-1)! ways.(1 is subtracted because the previously selected two members will be considered as single members now).
So total possible ways 4 members can be seated around the circular table 2*6= 12.
Hence, output is 12.
Example 2:
Input:
10 -> Value of N(No. of members)
Output :
725760 -> Possible ways of seating the members
Explanation:
2 members should always be next to each other.
So, 2 members can be in 2! ways
Rest of the members can be arranged in (10-1)! Ways. (1 is subtracted because the previously selected two members will be considered as a single member now).
So, total possible ways 10 members can be seated around a round table is
2*362880 = 725760 ways.
Hence, output is 725760.
The input format for testing
The candidate has to write the code to accept one input
First input – Accept value of number of N(Positive integer number)
The output format for testing
The output should be a positive integer number or print the message(if any) given in the problem statement(Check the output in example 1, example2)
Constraints :
2<=N<=50
C
C++
Java
Python
#include<stdio.h> int main() { int n; scanf("%d", &n); int fact[n + 1]; fact[0] = 1; for (int i = 1; i <= n; i++) { fact[i] = fact[i - 1] * i; } printf("%d\n", fact[n - 1] * 2); return 0; }
TCS NQT Coding Question Day 4 Slot 1 – Question 1
Problem Statement
An intelligence agency has received reports about some threats. The reports consist of numbers in a mysterious method. There is a number “N” and another number “R”. Those numbers are studied thoroughly and it is concluded that all digits of the number ‘N’ are summed up and this action is performed ‘R’ number of times. The resultant is also a single digit that is yet to be deciphered. The task here is to find the single-digit sum of the given number ‘N’ by repeating the action ‘R’ number of times.
If the value of ‘R’ is 0, print the output as ‘0’.
Example 1:
Input :
99 -> Value of N
3 -> Value of R
Output :
9 -> Possible ways to fill the cistern.
Explanation:
Here, the number N=99
- Sum of the digits N: 9+9 = 18
- Repeat step 2 ‘R’ times i.e. 3 tims (9+9)+(9+9)+(9+9) = 18+18+18 =54
- Add digits of 54 as we need a single digit 5+4
Hence , the output is 9.
Example 2:
Input :
1234 -> Value of N
2 -> Value of R
Output :
2 -> Possible ways to fill the cistern
Explanation:
Here, the number N=1234
- Sum of the digits of N: 1+2+3+4 =10
- Repeat step 2 ‘R’ times i.e. 2 times (1+2+3+4)+(1+2+3+4)= 10+10=20
- Add digits of 20 as we need a single digit. 2+0=2
Hence, the output is 2.
Constraints:
0<N<=1000
0<=R<=50
The Input format for testing
The candidate has to write the code to accept 2 input(s)
First input- Accept value for N (positive integer number)
Second input: Accept value for R(Positive integer number)
The output format for testing
The output should be a positive integer number or print the message (if any) given in the problem statement. (Check the output in Example 1, Example 2).
#include<stdio.h> #include<string.h> int main() { char s[100]; scanf("%s", s); int n, sum = 0; scanf("%d", &n); for (int i = 0; i < strlen(s); i++) { sum += (s[i] - '0'); } sum *= n; sprintf(s, "%d", sum); while (strlen(s) > 1) { sum = 0; for (int i = 0; i < strlen(s); i++) { sum += (s[i] - '0'); } sprintf(s, "%d", sum); } printf("%s", s); return 0; }
C
C++
Java
Python
TCS NQT Coding Question Day 4 Slot 1 – Question 2
Problem Statement
Particulate matters are the biggest contributors to Delhi pollution. The main reason behind the increase in the concentration of PMs include vehicle emission by applying Odd Even concept for all types of vehicles. The vehicles with the odd last digit in the registration number will be allowed on roads on odd dates and those with even last digit will on even dates.
Given an integer array a[], contains the last digit of the registration number of N vehicles traveling on date D(a positive integer). The task is to calculate the total fine collected by the traffic police department from the vehicles violating the rules.
Note : For violating the rule, vehicles would be fined as X Rs.
Example 1:
Input :
4 -> Value of N
{5,2,3,7} -> a[], Elements a[0] to a[N-1], during input each element is separated by a new line
12 -> Value of D, i.e. date
200 -> Value of x i.e. fine
Output :
600 -> total fine collected
Explanation:
Date D=12 means , only an even number of vehicles are allowed.
Find will be collected from 5,3 and 7 with an amount of 200 each.
Hence, the output = 600.
Example 2:
Input :
5 -> Value of N
{2,5,1,6,8} -> a[], elements a[0] to a[N-1], during input each element is separated by new line
3 -> Value of D i.e. date
300 -> Value of X i.e. fine
Output :
900 -> total fine collected
Explanation:
Date D=3 means only odd number vehicles with are allowed.
Find will be collected from 2,6 and 8 with an amount of 300 each.
Hence, the output = 900
Constraints:
- 0<N<=100
- 1<=a[i]<=9
- 1<=D <=30
- 100<=x<=5000
The input format for testing
The candidate has to write the code to accept 4 input(s).
First input – Accept for N(Positive integer) values (a[]), where each value is separated by a new line.
Third input – Accept value for D(Positive integer)
Fourth input – Accept value for X(Positive integer )
The output format for testing
The output should be a positive integer number (Check the output in Example 1, Example e) if no fine is collected then print ”0”.
C
C++
Java
Python
#include <stdio.h> int main() { int n; scanf("%d", &n); int arr[n]; for (int i = 0; i < n; i++) scanf("%d", &arr[i]); int d, x; scanf("%d %d", &d, &x); int countEven = 0, countOdd = 0; for (int i = 0; i < n; i++) { if (arr[i] % 2 == 0) countEven++; else countOdd++; } if (d % 2 != 0) { if (countEven == 0) printf("0\n"); else printf("%d\n", countEven * x); } else { if (countOdd == 0) printf("0\n"); else printf("%d\n", countOdd * x); } return 0; }
TCS Coding Preparation Strategy (1 Month Plan)
Here’s a weekly breakdown to help you stay consistent:
Week 1
- Basics of C/Python/Java
- Print statements, loops, conditions
- Easy pattern programs
Week 2
- Arrays & Strings
- Prime, Factorial, Palindrome
- Solve 5 easy-medium questions/day
Week 3
- Recursion, Functions
- Practice intermediate level coding
- Attempt TCS sample papers
Week 4
- Full mock test every day
- Revise all solved problems
- Focus on speed + accuracy
Resources to Use:
- LeetCode (Easy)
- PrepInsta Premium
- TCS Digital Archives
- HackerRank (TCS tag)
Frequently Asked Questions
Q1. How many coding questions are asked in TCS NQT?
You will be asked 2 coding problems in the technical round.
Q2. Is Python allowed in TCS NQT 2025?
Yes, TCS supports Python along with C, C++, Java, and Perl.
Q3. What is the level of TCS Nqt coding questions?
Generally, one is easy-medium and the second is medium-hard.
Q4. Will the questions have hidden test cases?
Yes, and you must handle edge cases to pass all test cases.
Q5. Can I re-attempt the NQT?
Yes, you can take the NQT multiple times (within the exam window).
Final Tips & Call-to-Action
Cracking the TCS coding round isn’t just about writing code. It’s about writing the right code that runs efficiently. Practice regularly, simulate exam conditions, and review your logic.
🚀 Want a FREE PDF of TCS nqt coding questions + mock tests?
👉 Subscribe to our NQT Prep Series for fresh problems, interview tips, and exclusive Telegram access.
Your dream job at TCS is just a few questions away. Start solving, keep practicing, and never stop improving.