Table of Contents

ToggleIBM is one of the top companies and leading recruiters. If you are planning to bag job in IBM and wondering how to prepare for IBM coding questions, here we are to guide you through.In this blog, we’ve discussed the sample IBM coding questions which are likely to be asked in IBM.

## IBM Coding Questions

### Q1. Write a program to find HCF of two numbers by without using recursion

**Examples:**

**Input:** x = 16, y = 32 **Output:** 16

**Input:** x = 12, y = 15 **Output:** 3

**Algorithm**:

- Check if smaller of two number divide larger number. If yes, HCF is smaller
- Else, Start from smaller/2 to 1 and check if current number divides both the input numbers.
- If yes, then current number is required HCF.

**Implementation**:

// IBM Coding Questions: HCF of Two numbers without recursion #include <iostream> using namespace std; int findHCF(int x, int y) { // Find minimum of two numbers int smallest = min(x, y); // If both numbers divisible by smallest number, // then smallest is the HCF. if (x % smallest == 0 && y % smallest == 0) return smallest; // Loop through smallest/2 to 1 and // check if number divides both input numbers for (int i = smallest / 2; i >= 2; i--) { if (x % i == 0 && y % i == 0) return i; } // If no number divides then HCF is 1. return 1; } int main() { int x = 16, y = 32; cout << findHCF(x, y); return 0; }

### Q2. Write a program to find the sum of A.P series

**Examples:**

Input : a = 1 d = 2 n = 4 Output : 16 1 + 3 + 5 + 7 = 16

**Algorithm**:

Sum of arithmetic series is((n / 2) * (2 * a + (n - 1) * d))Where a is First term d is Common difference n is No of terms

**Implementation**:

// IBM Coding Questions: Find the sum of A.P series #include<bits/stdc++.h> using namespace std; // Function to find sum of series. float sumOfAP(float a, float d, int n) { float sum = 0; for (int i=0;i<n;i++) { sum = sum + a; a = a + d; } return sum; } int main() { int n = 4; float a = 1, d = 2; cout<<sumOfAP(a, d, n); return 0; }

### Q3. Write a program to Change Decimal Number to Binary

**Examples**:

Input : 7 Output : 111 Input : 10 Output : 1010 Input: 33 Output: 100001

**Algorithm**:

- Keep dividing number by 2 until it becomes 0.
- The remainder obtained on dividing on each run is stored and converted to right format to return.

**Implementation**:

// IBM Coding Questions: Change Decimal Number to Binary #include <stdio.h> #include <math.h> long long decimalToBinary(int n) { long long ans = 0; int rem, i = 1; // loop until 0 while (n != 0) { // get remainder rem = n % 2; n /= 2; ans += rem * i; i *= 10; } return ans; } int main() { int n = 10, ans; printf("Enter a decimal number: "); ans = decimalToBinary(n); printf("%d in decimal = %lld in binary", n, ans); return 0; }

### Q4. Write a program to generate Fibonacci Triangle

**Examples**:

Input : n = 5 Output : 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610

**Algorithm**:

In mathematical terms, the sequence Fn of Fibonacci numbers is defined by the recurrence relation

where FF_{n}= F_{n-1}+ F_{n-2.}_{1}= 1 and F_{2}= 1.

**Implementation**:

// IBM Coding Questions: program to generate Fibonacci Triangle #include <bits/stdc++.h> using namespace std; void fib(int f[], int N) { f[1] = 1; f[2] = 1; for (int i = 3; i <= N; i++) // Add the previous 2 numbers and store it f[i] = f[i - 1] + f[i - 2]; } void fibTriangle(int n) { // To make triangle of height n total elements needed are n*(n+1)/2 int N = n * (n + 1) / 2; int f[N + 1]; fib(f, N); int count = 1; for (int i = 1; i <= n; i++) { for (int j = 1; j <= i; j++) cout << f[count++] << " "; cout << endl; } } int main() { int n = 5; fibTriangle(n); return 0; }

### Q5. Write a program to remove the vowels from the input string

**Examples**:

Input :prepare for interviews on teachingbeeOutput :prpr fr ntrvws n tchngb

**Algorithm**:

- Traverse through sentence
- If character is not a,e,i,o,u r store character in new string else ignore.

**Implementation**:

// IBM Coding Questions: remove the vowels from the input string #include <bits/stdc++.h> using namespace std; string removeVowels(string str) { vector < char > vowels = { 'a', 'e', 'i', 'o', 'u', 'A', 'E', 'I', 'O', 'U' }; for (int i = 0; i < str.length(); i++) { // Check if character is vowel or not. if (find(vowels.begin(), vowels.end(), str[i]) != vowels.end()) { str = str.replace(i, 1, ""); i -= 1; } } return str; } int main() { string str = "prepare for interviews on teachingbee"; cout << removeVowels(str) << endl; return 0; }

### Q6. Write a program to find string is palindrome or not

**Examples**:

Input: abba Output: abba is a palindrome

**Algorithm**:

- Get the length of input string.
- Do following while low index ‘l’ is smaller than high index ‘h’ where l is initialised to 0 and high to n-1
- If str[l] is not same as str[h], then return false.
- Increment l and decrement h, i.e., do l++ and h–.

- If all character match, return true.

**Implementation**:

// IBM Coding Questions: program to find string is palindrome or not #include <stdio.h> #include <string.h> void isPalindrome(char str[]) { int l = 0; int h = strlen(str) - 1; // Keep comparing characters till characters match while (h > l) { if (str[l++] != str[h--]) { printf("%s is not a palindrome\n", str); return; } } printf("%s is a palindrome\n", str); } int main() { isPalindrome("abba"); return 0; }

## Conclusion

In this blog, we’ve discussed the sample IBM coding questions which are likely to be asked in IBM.

In this article we discussed question asked in various aptitude exams of various companies. Checkout Other commonly asked questions here

Got a question or just want to chat? Comment below or drop by our forums, where a bunch of the friendliest people you’ll ever run into will be happy to help you out!