Most Asked Coding Questions In Placements
Top 50 Most Asked Coding Questions in Placements
Most Asked Coding Questions in Placements – Coding Questions are important in both written as well as Interview rounds. Questions provided on this page will help you in preparing for the coding rounds. Below you will find the most important codes in languages like C, C++, Java and Python.
Page Highlights
- About Coding Questions
- Top 50 Most Asked Coding Question
About Coding Questions
Coding Questions are very important, in both online assessments and technical interviews. Depending on the profile interviewers ask candidates conceptual questions about a program or can ask the candidate to write the whole code for any given question.
Top 50 Most Asked Coding Questions in Placements
Top 50 Most Asked Coding Questions in Placements
1. Write a code to reverse a number
To reverse a number, you need to take the digits of the number and rearrange them in the opposite order.
- Start by converting the number to a string, reverse that string, and then convert it back to an integer. This will give you the reversed version of the original number.
- Example: If the number is 908701, take digits from last → 1, 0, 7, 8, 0, 9 → and make it 107809.
#include<stdio.h>
int main() {
//Initialization of variables where rev='reverse=0'
int number, rev = 0, store, left;
//input a numbers for user
printf("Enter the number\n");
scanf("%d", & number);
store = number;
//use this loop for check true condition
while (number > 0) {
//left is for remider are left
left = number % 10;
//for reverse of no.
rev = rev * 10 + left;
//number /= 10;
number = number / 10;
}
//To show the user value
printf("Given number = %d\n", store);
//after reverse show numbers
printf("Its reverse is = %d\n", rev);
return 0;
}
//Reverse of a number
#include<bits/stdc++.h>
using namespace std;
//main program
int main() {
//variables initialization
int num, reverse = 0, rem;
cout << "Enter a number: ";
//user input
cin >> num;
//loop to find reverse number
do {
rem = num % 10;
reverse = reverse * 10 + rem;
num /= 10;
} while (num != 0);
//output
cout << "Reversed Number: " << reverse;
return 0;
}
import java.util.Scanner;
public class reverse_of_number
{
public static void main(String[] args)
{
//scanner class declaration
Scanner sc = new Scanner(System.in);
//input from user
System.out.print("Enter a number : ");
int number = sc.nextInt();
System.out.print("Reverse of " + number + " is ");
int reverse = 0;
String s = "";
while (number != 0)
{
int pick_last = number % 10;
//use function to convert pick_last from integer to string
s = s + Integer.toString(pick_last);
number = number / 10;
}
//display the reversed number
System.out.print(s);
//closing scanner class(not compulsory, but good practice)
sc.close();
}
}
num = int(input("Enter the Number:"))
temp = num
reverse = 0
while num > 0:
remainder = num % 10
reverse = (reverse * 10) + remainder
num = num // 10
print("The Given number is {} and Reverse is {}".format(temp, reverse))
2. Write the code to find the Fibonacci series upto the nth term.
This problem asks to generate the Fibonacci sequence up to the nth term. In this sequence, each number is the sum of the two preceding ones, starting from 0 and 1.
- The goal is to calculate and display all Fibonacci numbers from the 0th to the nth term.
- Example for n = 10:
0, 1, 1, 2, 3, 5, 8, 13, 21, 34
(Writing: Start with 0 and 1 → 0+1=1 → 1+1=2 → 1+2=3 → 2+3=5 → and so on.)
#include<stdio.h>
int main() {
int n = 10;
int a = 0, b = 1;
// printing the 0th and 1st term
printf("%d, %d", a, b);
int nextTerm;
// printing the rest of the terms here
for (int i = 2; i < n; i++) {
nextTerm = a + b;
a = b;
b = nextTerm;
printf("%d, ", nextTerm);
}
return 0;
}
#include<bits/stdc++.h>
using namespace std;
int main() {
int num = 15;
int a = 0, b = 1;
// Here we are printing 0th and 1st terms
cout << a << ", " << b << ", ";
int nextTerm;
// printing the rest of the terms here
for (int i = 2; i < num; i++) {
nextTerm = a + b;
a = b;
b = nextTerm;
cout << nextTerm << ", ";
}
return 0;
}
public class Main {
public static void main(String[] args) {
int num = 15;
int a = 0, b = 1;
// Here we are printing 0th and 1st terms
System.out.print(a + " , " + b + " , ");
int nextTerm;
// printing the rest of the terms here
for (int i = 2; i < num; i++) {
nextTerm = a + b;
a = b;
b = nextTerm;
System.out.print(nextTerm + " , ");
}
}
}
num = int(input("Enter the Number:"))
n1, n2 = 0, 1
print("Fibonacci Series:", n1, n2, end=" ")
for i in range(2, num):
n3 = n1 + n2
n1 = n2
n2 = n3
print(n3, end=" ")
print()
3. Write code of Greatest Common Divisor
This problem asks to find the Greatest Common Divisor (GCD) of two given numbers. The GCD of two numbers is the largest positive integer that divides both numbers without leaving a remainder.
- The Euclidean algorithm is a popular method for efficiently computing the GCD.
- Example: Find GCD of 36 and 60:
The common divisors of 36 and 60 are 1, 2, 3, 4, 6, 9, 12, 18, 36 and 1, 2, 3, 4, 5, 6, 10, 12, 15, 20, 30, 60.
The largest common divisor is 12.
// The code used a recursive function to return gcd of p and q
int gcd(int p, int q)
{
// checking divisibility by 0
if (p == 0)
return q;
if (q == 0)
return p;
// base case
if (p == q)
return p;
// p is greater
if (p > q)
return gcd(p-q, q);
else
return gcd(p, q-p);
}
// Driver program to test above function
int main()
{
int p = 98, q = 56;
printf("GCD of %d and %d is %d ", p, q, gcd(p, q));
return 0;
}
//C++ Program
//GCD of Two Numbers
#include<bits/stdc++.h>
using namespace std;
// Recursive function declaration
int findGCD(int, int);
// main program
int main() {
int first, second;
cout << "Enter First Number: ";
cin >> first;
cout << "Enter second Number: ";
cin >> second;
cout << "GCD of " << first << " and " << second << " is " << findGCD(first, second);
return 0;
}
//body of the function
int findGCD(int first, int second) {
// 0 is divisible by every number
if (first == 0) {
return second;
}
if (second == 0) {
return first;
}
// both numbers are equal
if (first == second) {
return first;
}
// first is greater
else if (first > second) {
return findGCD(first - second, second);
}
return findGCD(first, second - first);
}import java.util.Scanner;
public class gcd_or_hcf {
public static void main(String[] args) {
//scanner class declaration
Scanner sc = new Scanner(System.in);
//input from the user
System.out.print("Enter the first number : ");
int num1 = sc.nextInt();
//input from the user
System.out.print("Enter the second number : ");
int num2 = sc.nextInt();
int n = 1;
System.out.print("HCF of " + num1 + " and " + num2 + " is ");
if (num1 != num2) {
while (n != 0) {
//storing remainder
n = num1 % num2;
if (n != 0) {
num1 = num2;
num2 = n;
}
}
//result
System.out.println(num2);
} else
System.out.println("Wrong Input");
//closing scanner class(not compulsory, but good practice)
sc.close();
}
}
num1 = int(input("Enter First Number:"))
num2 = int(input("Enter Second Number:"))
def gcdFunction(num1, num2):
if num1 > num2:
small = num2
else:
small = num1
for i in range(1, small+1):
if (num1 % i == 0) and (num2 % i == 0):
gcd = i
print("GCD of two Number: {}".format(gcd))
gcdFunction(num1, num2)
4. Write code of Perfect number
- A perfect number is a positive integer that is equal to the sum of its proper divisors, excluding the number itself.
- Example: Is 28 a perfect number?
The divisors of 28 are 1, 2, 4, 7, 14.
Sum of divisors: 1 + 2 + 4 + 7 + 14 = 28, so 28 is a perfect number.
#include<stdio.h>
int main() {
// Initialization of variables
int number, i = 1, total = 0;
// To take user input
printf("Enter a number: ");
scanf("%d", & number);
while (i < number) {
if (number % i == 0) {
total = total + i;
i++;
}
}
//to condition is true
if (total == number)
//display
printf("%d is a perfect number", number);
//to condition is false
else
//display
printf("%d is not a perfect number", number);
return 0;
}
#include<bits/stdc++.h>
using namespace std;
//main Program
int main() {
int div, num, sum = 0;
cout << "Enter the number to check : ";
//user input
cin >> num;
//loop to find the sum of divisors
for (int i = 1; i < num; i++) {
div = num % i;
if (div == 0)
sum += i;
}
//checking for perfect number
if (sum == num)
cout << num << " is a perfect number.";
else
cout << num << " is not a perfect number.";
return 0;
}import java.util.Scanner;
public class perfect_number_or_not
{
public static void main(String[] args)
{
//scanner class declaration
Scanner sc = new Scanner(System.in);
//input from user
System.out.print("Enter a number : ");
int number = sc.nextInt();
//declare a variable to store sum of factors
int sum = 0;
for(int i = 1 ; i < number ; i++)
{
if(number % i == 0)
sum = sum + i;
}
//comparing whether the sum is equal to the given number or not
if(sum == number)
System.out.println("Perfect Number");
else
System.out.println("Not an Perfect Number");
//closing scanner class(not compulsory, but good practice)
sc.close();
}
}
n = int(input(“Enter any number: “)) sump= 0 for i in range(1, n): if(n % i == 0): sump= sump + i if (sump == n): print(“The number is a Perfect number”) else: print(“The number is not a Perfect number”)
5. Write code to Check if two strings are Anagram or not
Two strings are called anagrams if they contain the same characters in the same frequencies, but possibly in different orders.
- This code checks whether two given strings are anagrams of each other.
- Example: Are “listen” and “silent” anagrams?
Sort both:
“listen” → “eilnst”
“silent” → “eilnst”
Both are the same, so “listen” and “silent” are anagrams.
#include<stdio.h>
int main()
{
//Initializing variables.
char str[100];
int i;
int freq[256] = {0};
//Accepting inputs.
printf("Enter the string: ");
gets(str);
//Calculating frequency of each character.
for(i = 0; str[i] != '\0'; i++)
{
freq[str[i]]++;
}
printf("The non repeating characters are: ");
for(i = 0; i < 256; i++)
{
if(freq[i] == 1)//Finding uniques charcters and printing them.
{
printf(" %c ", i);
}
}
return 0;
}
#include<iostream>
using namespace std;
int main() {
//Initializing variables.
char str1[100], str2[100];
int first[26] = {
0
}, second[26] = {
0
}, c = 0, flag = 0;
//Accepting inputs.
cout << "Enter First String: ";
gets(str1);
cout << "Enter Second String: ";
gets(str2);
//Calculating frequencies of characters in first string.
while (str1[c] != '\0') {
first[str1[c] - 'a']++;
c++;
}
c = 0;
//Calculating frequencies of characters in second string.
while (str2[c] != '\0') {
second[str2[c] - 'a']++;
c++;
}
//Checking if frequencies of both the strings are same or not.
for (c = 0; c < 26; c++) {
if (first[c] != second[c])
flag = 1;
}
//Priting result.
if (flag == 0) {
cout << "Strings are anagram.";
} else {
cout << "Strings are not anagram.";
}
return 0;
}import java.util.Arrays;
import java.util.Scanner;
public class CheckIfTwoStringsAreAnagramAreNot {
static boolean isAnagram(String str1, String str2) {
String s1 = str1.replaceAll("[\\s]", "");
String s2 = str2.replaceAll("[\\s]", "");
boolean status = true;
if (s1.length() != s2.length())
status = false;
else {
char[] a1 = s1.toLowerCase().toCharArray();
char[] a2 = s2.toLowerCase().toCharArray();
Arrays.sort(a1);
Arrays.sort(a2);
status = Arrays.equals(a1, a2);
}
return status;
}
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("Enter two String :");
String s1 = sc.next();
String s2 = sc.next();
boolean status = isAnagram(s1, s2);
if (status)
System.out.println(s1 + " and " + s2 + " are Anagram");
else
System.out.println(s1 + " and " + s2 + " are not Anagram");
}
}
#take user input
String1 = input(‘Enter the 1st string :’)
String2 = input(‘Enter the 2nd string :’)
#check if length matches
if len(String1) != len(String2):
#if False
print(‘Strings are not anagram’)
else:
#sorted function sort string by characters
String1 = sorted(String1)
String2 = sorted(String2)
#check if now strings matches
if String1 == String2:
#if True
print(‘Strings are anagram’)
else:
print(‘Strings are not anagram’)6. Write code Check if the given string is Palindrome or not
A palindrome is a word, phrase, or sequence that reads the same backward as forward, ignoring spaces, punctuation, and capitalization.
- This code checks if a given string is a palindrome.
- Example for a palindrome:
“madam” — reads the same backward as forward
#include<stdio.h>
#include <string.h>
int main()
{
//Initializing variable.
char str[100];
int i,length=0,flag=0;
//Accepting input.
printf("Enter the string : ");
gets(str);
length=strlen(str);
//Initializing for loop.
for(i=0;i<length/2;i++)
{
//Checking if string is palindrome or not.
if(str[i]==str[length-i-1])
flag++;
}
//Printing result.
if(flag==i)
printf("String entered is palindrome");
else
printf("String entered is not palindrome");
return 0;
}
#include<bits/stdc++.h>
using namespace std;
int main()
{
//Initializing variable.
char str[100];
int i,length=0,flag=0;
//Accepting input.
cout<<"Enter the string : "<<endl;
gets(str);
length=strlen(str);
//Initializing for loop.
for(i=0;i<length/2;i++)
{
//Checking if string is palindrome or not.
if(str[i]==str[length-i-1])
flag++;
}
//Printing result.
if(flag==i)
cout<<"String entered is palindrome";
else
cout<<"String entered is not palindrome";
return 0;
}import java.util.Scanner;
public class StringIsAPalindromeOrNot {
public static void main(String[] args) {
Scanner sc =new Scanner(System.in);
System.out.println("Enter string");
String s = sc.next();
String rev = "";
for (int i = s.length()-1; i >=0 ; i--)
rev=rev+s.charAt(i);
if(s.equals(rev))
System.out.println("String is palindrome");
else
System.out.println("String is not palindrome");
}
}#take user input
String1 = input('Enter the String :')
#initialize string and save reverse of 1st string
String2 = String1[::-1]
#check if both matches
if String1 == String2:
print('String is palindromic')
else:
print('Strings is not palindromic')7. Write code to Calculate frequency of characters in a string
This problem asks to calculate the frequency of each character in a given string.
- The goal is to determine how many times each character appears in the string.
- Example for string “hello”:
- ‘h’ appears 1 time
- ‘e’ appears 1 time
- ‘l’ appears 2 times
- ‘o’ appears 1 time
#include<stdio.h>
int main() {
//Initializing variables.
char str[100];
int i;
int freq[256] = {
0
};
//Accepting inputs.
printf("Enter the string: ");
gets(str);
//Calculating frequency of each character.
for (i = 0; str[i] != '\0'; i++) {
freq[str[i]]++;
}
//Printing frequency of each character.
for (i = 0; i < 256; i++) {
if (freq[i] != 0) {
printf("The frequency of %c is %d\n", i, freq[i]);
}
}
return 0;
}#include<bits/stdc++.h>
using namespace std;
int main()
{
//Initializing variables.
char str[100];
int i;
int freq[256] = {0};
//Accepting inputs.
cout<<"Enter the string: ";
gets(str);
//Calculating frequency of each character.
for(i = 0; str[i] != '\0'; i++)
{
freq[str[i]]++;
}
//Printing frequency of each character.
for(i = 0; i < 256; i++)
{
if(freq[i] != 0)
{
cout<<"The frequency of "<<char(i)<<" is "<<freq[i]<<endl;
}
}
return 0;
}
import java.util.Scanner;
public class FrequencyOfCharactersInAString {
public static void main(String[] args) {
Scanner sc =new Scanner(System.in);
System.out.print("Enter String : ");
String str = sc.nextLine();
int[] freq = new int[str.length()];
int i, j;
//Converts given string into character array
char string[] = str.toCharArray();
for(i = 0; i <str.length(); i++) {
freq[i] = 1;
for(j = i+1; j <str.length(); j++) {
if(string[i] == string[j]) {
freq[i]++;
//Set string[j] to 0 to avoid printing visited character
string[j] = '0';
}
}
}
//Displays the each character and their corresponding frequency
System.out.println("Characters and their corresponding frequencies");
for(i = 0; i <freq.length; i++) {
if(string[i] != ' ' && string[i] != '0')
System.out.println(string[i] + "-" + freq[i]);
}
}
}
#take user input
String = input('Enter the string :')
#take character input
Character = input('Enter character :')
#initiaalize int variable to store frequency
frequency = 0
#use count function to count frequency of character
frequency = String.count(Character)
#count function is case sencetive
#so it print frequency of Character according to given Character
print(str(frequency) + ' is the frequency of given character')8. Write code to check if two strings match where one string contains wildcard characters
This problem checks if two strings match where one string contains wildcard characters. The wildcards are:
- * for any sequence of characters (including an empty sequence).
- ? for exactly one character.
- Example:
- “he?lo” matches “hello”, but not “healo”.
- “he*o” matches “hello”, “hero”, or “heyo”.
#include<stdio.h>
#include<string.h>
bool check(char *str1, char * str2) ;// declaration of the check() function
int main()
{
char str1[100],str2[100];
printf("Enter first string with wild characters : ");
gets(str1);
printf("Enter second string without wild characters : ");
gets(str2);
test(str1,str2);
return 0;
}
bool check(char *str1, char * str2)
{
// checking end of both the strings
if (*str1 == '\0' && *str2 == '\0')
return true;
// comparing the characters of both the strings and wild characters(*)
if (*str1 == '*' && *(str1+1) != '\0' && *str2 == '\0')
return false;
// checking wild characters(?)
if (*str1 == '?' || *str1 == *str2)
return check(str1+1, str2+1);
if (*str1 == '*')
return check(str1+1, str2) || check(str1, str2+1);
return false;
}
// test() function for running test cases
void test(char *str1, char *str2)
{
check(str1, str2)? puts(" Yes "): puts(" No ");
}#include<bits/stdc++.h>
using namespace std;
int main()
{
//Initialize the variables.
string wild,str;
//Accept the inputs.
cout<<"Enter string containing wild characters: "; cin>>wild;
cout<<"Enter string to be matched: "; cin>>str;
bool TRUE=true,FALSE=false;
bool check[wild.length()+1][str.length()+1];
check[0][0]=TRUE;
for(int i=1;i<=str.length();i++)
check[0][i]=FALSE;
for(int i=1;i<=wild.length();i++)
if(wild[i-1] == '*')//Checking for wild characters.
check[i][0]=check[i-1][0];
else
check[i][0]=FALSE;
for(int i=1;i<=wild.length();i++)
{
for(int j=1;j<=wild.length();j++)
{
if(wild[i-1] == str[j-1])
check[i][j]=check[i-1][j-1];
else if(wild[i-1] == '?')//Checking for wild character '?'.
check[i][j]=check[i-1][j-1];
else if(wild[i-1] == '*')//Checking for wild character '*'.
check[i][j]=check[i-1][j]||check[i][j-1];
else
check[i][j] =FALSE;
}
}
//Printing result
if(check[wild.length()][str.length()])
cout<<"TRUE";
else
cout<<"FALSE</span.";
}def solve(a,b):
n,m=len(a),len(b)
if n==0 and m==0:
return True
if n > 1 and a[0] == '*' and m == 0:
return False
if (n > 1 and a[0] == '?') or (n != 0 and m !=0 and a[0] == b[0]):
return solve(a[1:],b[1:]);
if n !=0 and a[0] == '*':
return solve(a[1:],b) or solve(a,b[1:])
return False
9. Write a code for bubble sort
Bubble Sort is a simple sorting algorithm that repeatedly steps through the list, compares adjacent elements, and swaps them if they are in the wrong order.
- The process continues until the list is sorted.
- Example for list [5, 3, 8, 4, 2]:
After sorting, the list will be [2, 3, 4, 5, 8].
#include<stdio.h>
/* Function to print array */
void display(int arr[], int size) {
int i;
for (i = 0; i < size; i++)
printf("%d ", arr[i]);
printf("\n");
}
// Main function to run the program
int main() {
int array[] = {
5,
3,
1,
9,
8,
2,
4,
7
};
int size = sizeof(array) / sizeof(array[0]);
printf("Before bubble sort: \n");
display(array, size);
int i, j, temp;
for (i = 0; i < size - 1; i++) {
// Since, after each iteration righmost i elements are sorted
for (j = 0; j < size - i - 1; j++) if (array[j] > array[j + 1]) {
temp = array[j]; // swap the element
array[j] = array[j + 1];
array[j + 1] = temp;
}
}
printf("After bubble sort: \n");
display(array, size);
return 0;
}
#include<bits/stdc++.h>
using namespace std;
void swap(int *var1, int *var2)
{
int temp = *var1;
*var1 = *var2;
*var2 = temp;
}
//Here we will implement bubbleSort.
void bubbleSort(int arr[], int n)
{
int i, j;
for (i = 0; i < n-1; i++)
//Since, after each iteration rightmost i elements are sorted.
for (j = 0; j < n-i-1; j++) if (arr[j] > arr[j+1])
swap(&arr[j], &arr[j+1]);
}
// Function to print array.
void display(int arr[], int size)
{
int i;
for (i=0; i < size; i++)
cout << arr[i] << "\t";
cout<<endl;
}
//Main function to run the program.
int main()
{
int array[] = {5, 3, 1, 9, 8, 2, 4,7};
int size = sizeof(array)/sizeof(array[0]);
cout<<"Before bubble sort: \n";
display(array, size);//Calling display function to print unsorted array.
bubbleSort(array, size);
cout<<"After bubble sort: \n";
display(array, size);//Calling display function to print sorted array.
return 0;
}
10. How is the merge sort algorithm implemented?
Merge Sort is a divide-and-conquer algorithm that splits the list into smaller sublists, sorts each sublist, and then merges the sorted sublists.
- The process continues recursively until the entire list is sorted.
- Example for list [5, 3, 8, 4, 2]:
After sorting, the list will be [2, 3, 4, 5, 8].
#include<stdio.h>
void mergeSort(int[], int, int);
void merge(int[], int, int, int);
void display(int arr[], int size) {
int i;
for (i = 0; i < size; i++) {
printf("%d ", arr[i]);
}
printf("\n");
}
void main() {
int a[10] = {
11,
9,
6,
19,
33,
64,
15,
75,
67,
88
};
int i;
int size = sizeof(a) / sizeof(a[0]);
display(a, size);
mergeSort(a, 0, size - 1);
display(a, size);
}
void mergeSort(int a[], int left, int right) {
int mid;
if (left < right) {
// can also use mid = left + (right - left) / 2
// this can avoid data type overflow
mid = (left + right) / 2;
// recursive calls to sort first half and second half subarrays
mergeSort(a, left, mid);
mergeSort(a, mid + 1, right);
merge(a, left, mid, right);
}
}
void merge(int arr[], int left, int mid, int right) {
int i, j, k;
int n1 = mid - left + 1;
int n2 = right - mid;
// create temp arrays to store left and right subarrays
int L[n1], R[n2];
// Copying data to temp arrays L[] and R[]
for (i = 0; i < n1; i++)
L[i] = arr[left + i];
for (j = 0; j < n2; j++)
R[j] = arr[mid + 1 + j];
// here we merge the temp arrays back into arr[l..r]
i = 0; // Starting index of L[i]
j = 0; // Starting index of R[i]
k = left; // Starting index of merged subarray
while (i < n1 && j < n2) {
// place the smaller item at arr[k] pos
if (L[i] <= R[j]) {
arr[k] = L[i];
i++;
} else {
arr[k] = R[j];
j++;
}
k++;
}
// Copy the remaining elements of L[], if any
while (i < n1) {
arr[k] = L[i];
i++;
k++;
}
// Copy the remaining elements of R[], if any
while (j < n2) {
arr[k] = R[j];
j++;
k++;
}
}
#include<iostream>
using namespace std;
void mergeSort(int[], int, int);
void merge(int[], int, int, int);
void printArray(int arr[], int size) {
int i;
for (i = 0; i < size; i++) {
cout << arr[i] << " ";
}
cout << endl;
}
int main() {
int array[] = {
8,
4,
5,
1,
3,
9,
0,
2,
7,
6
};
int i;
int size = sizeof(array) / sizeof(array[0]);
printArray(array, size);
mergeSort(array, 0, size - 1);
printArray(array, size);
}
void mergeSort(int a[], int left, int right) {
int mid;
if (left < right) {
// can also use mid = left + (right - left) / 2
// this can avoid data type overflow
mid = (left + right) / 2;
// recursive calls to sort first half and second half subarrays
mergeSort(a, left, mid);
mergeSort(a, mid + 1, right);
merge(a, left, mid, right);
}
}
void merge(int arr[], int left, int mid, int right) {
int i, j, k;
int n1 = mid - left + 1;
int n2 = right - mid;
// create temp arrays to store left and right subarrays
int L[n1], R[n2];
// Copying data to temp arrays L[] and R[]
for (i = 0; i < n1; i++)
L[i] = arr[left + i];
for (j = 0; j < n2; j++)
R[j] = arr[mid + 1 + j];
// here we merge the temp arrays back into arr[l..r]
i = 0; // Starting index of L[i]
j = 0; // Starting index of R[i]
k = left; // Starting index of merged subarray
while (i < n1 && j < n2) {
// place the smaller item at arr[k] pos
if (L[i] <= R[j]) {
arr[k] = L[i];
i++;
} else {
arr[k] = R[j];
j++;
}
k++;
}
// Copy the remaining elements of L[], if any
while (i < n1) {
arr[k] = L[i];
i++;
k++;
}
// Copy the remaining elements of R[], if any
while (j < n2) {
arr[k] = R[j];
j++;
k++;
}
}
//Java Program for Merge Sort
class Main {
// this function display the array
public static void display(int[] arr, int size) {
for (int i = 0; i < size; i++) {
System.out.print(arr[i] + " ");
}
System.out.println();
}
// main function of the program
public static void main(String[] args) {
int[] a = {
12,
8,
4,
14,
36,
64,
15,
72,
67,
84
};
int size = a.length;
display(a, size);
mergeSort(a, 0, size - 1);
display(a, size);
}
// this function apply merging and sorting in the array
static void mergeSort(int[] a, int left, int right) {
int mid;
if (left < right) {
// can also use mid = left + (right - left) / 2
// this can avoid data type overflow
mid = (left + right) / 2;
// recursive calls to sort first half and second half sub-arrays
mergeSort(a, left, mid);
mergeSort(a, mid + 1, right);
merge(a, left, mid, right);
}
}
// after sorting this function merge the array
static void merge(int[] arr, int left, int mid, int right) {
int i, j, k;
int n1 = mid - left + 1;
int n2 = right - mid;
// create temp arrays to store left and right sub-arrays
int L[] = new int[n1];
int R[] = new int[n2];
// Copying data to temp arrays L[] and R[]
for (i = 0; i < n1; i++)
L[i] = arr[left + i];
for (j = 0; j < n2; j++)
R[j] = arr[mid + 1 + j];
// here we merge the temp arrays back into arr[l..r]
i = 0; // Starting index of L[i]
j = 0; // Starting index of R[i]
k = left; // Starting index of merged sub-array
while (i < n1 && j < n2) {
// place the smaller item at arr[k] pos
if (L[i] <= R[j]) {
arr[k] = L[i];
i++;
} else {
arr[k] = R[j];
j++;
}
k++;
}
// Copy the remaining elements of L[], if any
while (i < n1) {
arr[k] = L[i];
i++;
k++;
}
// Copy the remaining elements of R[], if any
while (j < n2) {
arr[k] = R[j];
j++;
k++;
}
}
}
11. Write to code to check whether a given year is leap year or not.
A leap year is a year that is divisible by 4, but not divisible by 100, unless it is also divisible by 400.
- This code checks whether a given year is a leap year based on this rule.
- Example:
- 2020 is a leap year (divisible by 4).
- 1900 is not a leap year (divisible by 100 but not 400).
- 2000 is a leap year (divisible by 400).
#include <stdio.h>
int main() {
int year;
scanf("%d", & year);
if (year % 400 == 0)
printf("%d is a Leap Year", year);
else if (year % 4 == 0 && year % 100 != 0)
printf("%d is a Leap Year", year);
else
printf("%d is not a Leap Year", year);
return 0;
}
#include<bits/stdc++.h>
using namespace std;
int main() {
int year;
cout << "Enter Year:" << endl; cin >> year;
if (year % 400 == 0)
cout << year << " is a Leap Year";
else if (year % 4 == 0 && year % 100 != 0)
cout << year << " is a Leap Year";
else
cout << year << " is not a Leap Year";
return 0;
}
12. Find non-repeating characters in a string
This problem asks to find the characters in a string that appear only once, i.e., the non-repeating characters.
- These characters are unique and do not appear multiple times in the string.
- Example for string “swiss”:
- Non-repeating characters are ‘w’ and ‘i’, since ‘s’ repeats.
#include<stdio.h>
int main()
{
//Initializing variables.
char str[100]="prepinsta";
int i;
int freq[256] = {0};
//Calculating frequency of each character.
for(i = 0; str[i] != '\0'; i++)
{
freq[str[i]]++;
}
printf("The non repeating characters are: ");
for(i = 0; i < 256; i++)
{
if(freq[i] == 1)//Finding uniques charcters and printing them.
{
printf(" %c ", i);
}
}
return 0;
}
#include <iostream>
using namespace std;
int main()
{
//Initializing variables.
char str[100]="prepinsta";
int i;
int freq[256] = {0};
//Calculating frequency of each character.
for(i = 0; str[i] != '\0'; i++)
{
freq[str[i]]++;
}
cout<<"The non repeating characters are: ";
for(i = 0; i < 256; i++)
{
if(freq[i] == 1)//Finding non repeating charcters and printing them.
{
cout<<char(i)<<" " ;
}
}
return 0;
}import java.util.*; class Solution { public static void main (String[]args) { Scanner sc = new Scanner (System.in); System.out.println ("Enter the string"); String str = sc.next (); //Taking input as a string from the user int freq[] = new int[256]; //Calculating frequency of each character for (int i = 0; i < str.length (); i++) freq[str.charAt (i)]++; System.out.println ("The non repeating characters are : "); for (int i = 0; i < 256; i++) if (freq[i] == 1) //finding the character whose frequency is 1 System.out.print ((char) i + " "); } }
#take user input String = "prepinsta" for i in String: #initialize a count variable count = 0 for j in String: #check for repeated characters if i == j: count+=1 #if character is found more than 1 time #brerak the loop if count > 1: break #print for nonrepeating characters if count == 1: print(i,end = " ")
13. Write a code to replace a substring in a string.
This problem asks to replace a substring within a string with another substring.
- The goal is to find all occurrences of the target substring and replace them with the desired one.
- Example for string “hello world”:
- Replacing “world” with “Python” results in “hello Python”.
#include<stdio.h> #include<string.h> int main() { char str[256] = "prepinsta", substr[128] = "insta", replace[128] = "ster ", output[256]; int i = 0, j = 0, flag = 0, start = 0; str[strlen(str) - 1] = '\0'; substr[strlen(substr) - 1] = '\0'; replace[strlen(replace) - 1] = '\0'; // check whether the substring to be replaced is present while (str[i] != '\0') { if (str[i] == substr[j]) { if (!flag) start = i; j++; if (substr[j] == '\0') break; flag = 1; } else { flag = start = j = 0; } i++; } if (substr[j] == '\0' && flag) { for (i = 0; i < start; i++) output[i] = str[i]; // replace substring with another string for (j = 0; j < strlen(replace); j++) { output[i] = replace[j]; i++; } // copy remaining portion of the input string "str" for (j = start + strlen(substr); j < strlen(str); j++) { output[i] = str[j]; i++; } // print the final string output[i] = '\0'; printf("Output: %s\n", output); } else { printf("%s is not a substring of %s\n", substr, str); } return 0; }
//Replace a Substring in a String
#include<iostream.h> #include<string.h> using namespace std; void replaceSubstring(char st[],char sub[],char new_str[])//Function to replace substring. { int stLen,subLen,newLen; int i=0,j,k; int flag=0,start,end; stLen=strlen(st); subLen=strlen(sub); newLen=strlen(new_str); for(i=0;i<stLen;i++)//Finding substring. { flag=0; start=i; for(j=0;st[i]==sub[j];j++,i++) if(j==subLen-1) flag=1; end=i; if(flag==0) i-=j; else { for(j=start;j<end;j++) { for(k=start;k<stLen;k++) st[k]=st[k+1]; stLen--; i--; } for(j=start;j<start+newLen;j++)//Replacing suv string with the input string
{
for(k=stLen;k>=j;k--) st[k+1]=st[k]; st[j]=new_str[j-start]; stLen++; i++; } } } } //Main function. int main() { char st[100] = "prepinsta",sub[100] = "insta",new_str[100]="ster "; replaceSubstring(st,sub,new_str); //Calling created function. //Printing result using called function. cout<<"The string after replacing substring: "<<st<<endl; return 0; }
//Replace Substring in a String Java code
import java.util.Scanner; public class ReplaceASubstringInAString { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.print("Enter a String : "); String s1 = sc.nextLine(); System.out.print("Enter the String to be replaced : "); String oldString = sc.nextLine(); System.out.print("Enter the new String : "); String newString =sc.nextLine(); String replaceString = s1.replace(oldString, newString); System.out.println("New String is :"+replaceString); } }
string=input("Enter String :\n") str1=input("Enter substring which has to be replaced :\n") str2=input("Enter substring with which str1 has to be replaced :\n") string=string.replace(str1,str2) print("String after replacement") print(string)
14. Write a code for Heap sort.
Heap Sort is a comparison-based sorting algorithm that uses a binary heap data structure. It works by building a max-heap (or min-heap) from the input data and then repeatedly extracting the maximum element from the heap and placing it at the end of the array.
- This process is done until the heap is empty.
- Example for list [5, 3, 8, 4, 2]:
After sorting, the list will be [2, 3, 4, 5, 8].
#include<stdio.h> // including library files
int temp;
void heapify(int arr[], int size, int i)//declaring functions
{
int max = i;
int left = 2*i + 1;
int right = 2*i + 2;
if (left < size && arr[left] >arr[max])
max= left;
if (right < size && arr[right] > arr[max])
max= right;
if (max!= i)
{
// performing sorting logic by using temporary variable
temp = arr[i];
arr[i]= arr[max];
arr[max] = temp;
heapify(arr, size, max);
}
}
void heapSort(int arr[], int size)// providing definition to heap sort
{
int i;
for (i = size / 2 - 1; i >= 0; i--)
heapify(arr, size, i);
for (i=size-1; i>=0; i--)
{
// swaping logic
temp = arr[0];
arr[0]= arr[i];
arr[i] = temp;
heapify(arr, i, 0);
}
}
void main() // defining main()
{
int arr[] = {58, 134, 3, 67, 32, 89, 15, 10,78, 9};
// array initializing with their elements.
int i;
int size = sizeof(arr)/sizeof(arr[0]);
heapSort(arr, size);
printf("printing sorted elements\n"); // printing the sorted array
for (i=0; i<size; ++i)
printf("%d\n",arr[i]);
}
#include <iostream>
using namespace std;
void heapify(int arr[], int n, int i)
{
int largest = i;
int l = 2*i + 1;
int r = 2*i + 2;
//If left child is larger than root
if (l < n && arr[l] > arr[largest])
largest = l;
//If right child largest
if (r < n && arr[r] > arr[largest])
largest = r;
//If root is nor largest
if (largest != i)
{
swap(arr[i], arr[largest]);
//Recursively heapifying the sub-tree
heapify(arr, n, largest);
}
}
void heapSort(int arr[], int n)
{
for (int i = n / 2 - 1; i >= 0; i--)
heapify(arr, n, i);
//One by one extract an element from heap
for (int i=n-1; i>=0; i--)
{
//Moving current root to end
swap(arr[0], arr[i]);
//Calling max heapify on the reduced heap
heapify(arr, i, 0);
}
}
//Function to print array
void display(int arr[], int n)
{
for (int i = 0; i < n; i++)
{
cout << arr[i] << "\t";
}
cout << "\n";
}
int main()
{
int arr[] = {1, 14, 3, 7, 0};
int n = sizeof(arr)/sizeof(arr[0]);
cout << "Unsorted array \n";
display(arr, n);
heapSort(arr, n);
cout << "Sorted array \n";
display(arr, n);
}
// Java program for implementation of Heap Sort
public class PrepInsta
{
//Main() for the execution of the program
public static void main(String args[])
{
int a[] = {12, 11, 13, 5, 6, 7};
int len = a.length;
PrepInsta ob = new PrepInsta();
ob.sort(a);
System.out.println("Sorted array is");
printArray(a);
}
public void sort(int a[])
{
int len = a.length;
// Build heap (rearrange array)
for (int i = len / 2 - 1; i >= 0; i--)
heapify(a, len, i);
// One by one extract an element from heap
for (int i=len-1; i>=0; i--)
{
// Move current root to end
int temp = a[0];
a[0] = a[i];
a[i] = temp;
// call max heapify on the reduced heap
heapify(a, i, 0);
}
}
// To heapify a subtree rooted with node i which is
// an index in arr[]. n is size of heap
void heapify(int a[], int len, int i)
{
int largest = i; // Initialize largest as root
int l = 2*i + 1; // left = 2*i + 1
int r = 2*i + 2; // right = 2*i + 2
// If left child is larger than root
if (l < len && a[l] > a[largest])
largest = l;
// If right child is larger than largest so far
if (r < len && a[r] > a[largest])
largest = r;
// If largest is not root
if (largest != i)
{
int swap = a[i];
a[i] = a[largest];
a[largest] = swap;
// Recursively heapify the affected sub-tree
heapify(a, len, largest);
}
}
/* A utility function to print array of size n */
static void printArray(int a[])
{
int len = a.length;
for (int i=0; i<len; ++i)
System.out.print(a[i]+" ");
System.out.println();
}
}15. Write a code to replace each element in an array by its rank in the array
This problem asks to replace each element in an array by its rank in the array.
- The rank of an element is its position in the sorted array (with ties assigned the same rank).
- Example for array [40, 10, 20, 30]:
After replacing each element by its rank, the array will be [4, 1, 2, 3] (after sorting, the elements are [10, 20, 30, 40], so ranks are [1, 2, 3, 4]).
#include<stdio.h> int main(){ int arr[] = { 100, 2, 70, 12 , 90}; int n = sizeof(arr) / sizeof(arr[0]); int temp[n]; for(int i=0; i<n; i++) temp[i] = arr[i]; //sort the copied array for(int i=0; i<n; i++){ for(int j=i+1; j<n; j++){ int x = temp[i]; temp[i] = temp[j]; temp[j] = x; } } for(int i=0; i<n; i++){ for(int j=0; j<n; j++){ if(temp[j]==arr[i]) { arr[i] = j+1; break; } } } for(int i=0; i<n; i++) printf("%d ", arr[i]); }
#include<bits/stdc++.h> using namespace std; int main(){ int arr[] = { 100, 2, 70, 12 , 90}; int n = sizeof(arr) / sizeof(arr[0]); int temp[n]; for(int i=0; i<n; i++) temp[i] = arr[i]; //sort the copied array sort(temp, temp+n); for(int i=0; i<n; i++){ for(int j=0; j<n; j++){ if(temp[j]==arr[i]) { arr[i] = j+1; break; } } } for(int i=0; i<n; i++) cout<<arr[i]<<" "; }
import java.util.*; class Main { static void changeArr(int[] input) { // Copy input array into newArray int newArray[] = Arrays.copyOfRange(input, 0, input.length); // Sort newArray[] in ascending order Arrays.sort(newArray); for(int i=0; i< input.length; i++){ for(int j=0; j< input.length; j++){ if(newArray[j]==input[i]) { input[i] = j+1; break; } } } } // Driver Code public static void main(String[] args) { // Given array arr[] int[] arr = { 100, 2, 70, 12 , 90}; // Function Call changeArr(arr); // Print the array elements System.out.println(Arrays.toString(arr)); } }
def changeArr(input1): newArray = input1.copy() newArray.sort() for i in range(len(input1)): for j in range(len(newArray)): if input1[i]==newArray[j]: input1[i] = j+1; break; # Driver Code arr = [100, 2, 70, 12 , 90] changeArr(arr) # Print the array elements print(arr)
16. Write a code to find circular rotation of an array by K positions.
This problem asks to find the circular rotation of an array by K positions.
- In a circular rotation, elements that are moved from the end of the array are appended to the beginning.
- Example for array [1, 2, 3, 4, 5] and K = 2:
After rotating the array by 2 positions, the result will be [4, 5, 1, 2, 3].
#include<stdio.h> int main() { int size; printf("Size of array: "); scanf("%d",&size); int arr[size]; printf("Enter the elements "); for(int a=0;a<size;a++) scanf("%d",&arr[a]); int n; printf("Enter the index from where you want your array to rotate "); scanf("%d",&n); printf("Array: \n"); for (int a = 0; a < size; a++) { printf("%d ", arr[a]); } for(int a = 0; a < n; a++) { int b, temporary; temporary = arr[size-1]; for(b = size-1; b > 0; b--) { arr[b] = arr[b-1]; } arr[0] = temporary; } printf("\n"); printf("New Array: \n"); for(int a = 0; a< size; a++){ printf("%d ", arr[a]); } return 0; }
#include <bits/stdc++.h> using namespace std; int main() { int n; // variable to store the size of the array int k; // variable to store the position for rotation cout << "Enter the size of array : "; cin >> n; cout << "\nEnter the position for rotation : "; cin >> k; std::vector A(n); // declaring a vector of size n cout << "\nEnter the elements of the array : "; for (int i = 0; i < n; i++) cin >> A[i]; k = (n - k) % n; // set k to the index which comes first reverse(A.begin(), A.begin() + k); //reverse the array from 0 to k position reverse(A.begin() + k, A.end()); //reverse the array from k to n-1 position reverse(A.begin(), A.end()); //reverse the array from 0 to n-1 position cout << "\nArray after rotation: "; for (int i = 0; i < n; i++) cout << A[i] << " "; return 0; }
class Main { /*Function to left rotate arr[] of size n by d*/ static void leftRotate(int arr[], int d, int n) { for (int i = 0; i < d; i++) leftRotatebyOne(arr, n); } static void leftRotatebyOne(int arr[], int n) { int i, temp; temp = arr[0]; for (i = 0; i < n - 1; i++) arr[i] = arr[i + 1]; arr[n - 1] = temp; } /* utility function to print an array */ static void printArray(int arr[], int n) { for (int i = 0; i < n; i++) System.out.print(arr[i] + " "); } // Driver program to test above functions public static void main(String[] args) { // RotateArray rotate = new RotateArray(); int arr[] = {1, 2, 3, 4, 5}; leftRotate(arr, 2, 5); printArray(arr, 5); } }
def rotateArray(arr, n, d): temp = [] i = 0 while (i < d): temp.append(arr[i]) i = i + 1 i = 0 while (d < n): arr[i] = arr[d] i = i + 1 d = d + 1 arr[:] = arr[: i] + temp return arr
17. Write a code to find non-repeating elements in an array.
This problem asks to find the elements in an array that appear only once, i.e., the non-repeating elements.
- These elements are unique and do not appear multiple times in the array.
- Example for array [4, 5, 4, 3, 6, 3, 7]:
- Non-repeating elements are [5, 6, 7], since ‘4’ and ‘3’ repeat.
#include<stdio.h> // Main function to run the program int main() { int arr[] = {21, 30, 10, 2, 10, 20, 30, 11}; int n = sizeof(arr)/sizeof(arr[0]); int visited[n]; for(int i=0; i<n; i++){ if(visited[i]==0){ int count = 1; for(int j=i+1; j<n; j++){ if(arr[i]==arr[j]){ count++; visited[j]=1; } } if(count==1) printf("%d "arr[i]); } } return 0; }
#include <bits/stdc++.h> using namespace std; // Main function to run the program int main() { int arr[] = {10, 30, 10, 20, 40, 20, 50, 10}; int n = sizeof(arr)/sizeof(arr[0]); int visited[n], count_dis=0; for(int i=0; i<n; i++){ if(visited[i]!=1){ int count = 1; for(int j=i+1; j<n; j++){ if(arr[i]==arr[j]){ count++; visited[j]=1; } } if(count==1)
cout<<arr[i]<<" ";
} } return 0; }
import java.util.Arrays; class Main { public static void countFreq(int arr[], int n) { boolean visited[] = new boolean[n]; Arrays.fill(visited, false);
// Traverse through array elements and // count frequencies for (int i = 0; i < n; i++) { // Skip this element if already processed if (visited[i] == true) continue; // Count frequency int count = 1; for (int j = i + 1; j < n; j++) { if (arr[i] == arr[j]) { visited[j] = true; count++; } }
if(count==1)
System.out.println(arr[i]); }
} // Driver code public static void main(String []args) { int arr[] = new int[]{10, 30, 40, 20, 10, 20, 50, 10}; int n = arr.length; countFreq(arr, n); } }
# Python 3 program to count unique elements def count(arr, n): # Mark all array elements as not visited visited = [False for i in range(n)] # Traverse through array elements # and count frequencies for i in range(n): # Skip this element if already # processed if (visited[i] == True): continue # Count frequency count = 1 for j in range(i + 1, n, 1): if (arr[i] == arr[j]): visited[j] = True count += 1 if count == 1 : print(arr[i]); # Driver Code arr = [10, 30, 40, 20, 10, 20, 50, 10] n = len(arr) count(arr, n)
18. Write a code to check for the longest palindrome in an array.
This problem asks to find the longest palindrome in an array of strings. A palindrome is a word, phrase, or sequence that reads the same backward as forward.
- The goal is to identify the longest string in the array that is a palindrome.
- Example for array [“racecar”, “level”, “hello”, “madam”, “world”]:
The longest palindrome is “racecar”.
#include<stdio.h> #include<limits.h> int ispalindrome(int n){ int rev=0, temp = n; while(temp>0){ int rem = temp%10; rev = rev*10 + rem; temp /= 10; } if(n==rev) return 1; return 0; } int main(){ int arr[] = {1, 121, 55551, 545545, 10111, 90}; int n = sizeof(arr)/sizeof(arr[0]); int res = INT_MIN; for(int i=0; i<n; i++){ if(ispalindrome(arr[i]) && res<arr[i]) res = arr[i]; } if(res==INT_MIN) res = -1; printf("%d ",res); }
#include<bits/stdc++.h> using namespace std; int ispalindrome(int n){ int rev=0, temp = n; while(temp>0){ int rem = temp%10; rev = rev*10 + rem; temp /= 10; } if(n==rev) return 1; return 0; } int main(){ int arr[] = {1, 121, 55551, 545545, 10111, 90}; int n = sizeof(arr)/sizeof(arr[0]); int res = INT_MIN; for(int i=0; i<n; i++){ if(ispalindrome(arr[i]) && res<arr[i]) res = arr[i]; } if(res==INT_MIN) res = -1; cout<<res; }
import java.util.*; class Main { // Function to check if n is palindrome static boolean isPalindrome(int n) { // Find the appropriate divisor // to extract the leading digit int divisor = 1; while (n / divisor >= 10) divisor *= 10; while (n != 0) { int x = n / divisor; int y = n % 10; // If first and last digits are // not same then return false if (x != y) return false; // Removing the leading and trailing // digits from the number n = (n % divisor) / 10; // Reducing divisor by a factor // of 2 as 2 digits are dropped divisor = divisor / 100; } return true; } // Function to find the largest palindromic number static int largestPalindrome(int []A, int n) { int res = -1; for (int i = 0; i < n; i++) { // If a palindrome larger than the currentMax is found if (A[i] > res && isPalindrome(A[i])) res = A[i]; } // Return the largest palindromic number from the array return res; } // Driver program public static void main(String []args) { int []A = { 121, 2322, 54545, 999990 }; int n = A.length; // print required answer System.out.println(largestPalindrome(A, n)); } }
# Function to check if n is palindrome def isPalindrome(n): divisor = 1 while (int(n / divisor) >= 10): divisor *= 10 while (n != 0): leading = int(n / divisor) trailing = n % 10 if (leading != trailing): return False n = int((n % divisor) / 10) divisor = int(divisor / 100) return True # Function to find the largest palindromic element def largestPalindrome(arr, n): currentMax = -1 for i in range(0, n, 1): if (arr[i] > currentMax and isPalindrome(arr[i])): currentMax = arr[i] return currentMax # Driver Code arr = [1, 232, 5545455, 909090, 161] n = len(arr) # print required answer print(largestPalindrome(arr, n))
19. Write a code to find the factorial of a number.
This problem asks to find the factorial of a given number. The factorial of a non-negative integer n is the product of all positive integers less than or equal to n. It is denoted as n!.
- For example:
5! = 5 × 4 × 3 × 2 × 1 = 120
0! = 1 (by definition).
#include<stdio.h> int main () { int num = 5, fact = 1; // Can't calculate factorial of a negative number if(num < 0) printf("Error"); else { for(int i = 1; i <= num; i++) fact = fact * i; } printf("Fact %d: %d",num, fact); } // Time complexity: O(N) // Space complexity: O(1)
#include<iostream> using namespace std; int main () { int num = 6, fact = 1; // Factorial of negative number doesn't exist // Read more here - https://www.quora.com/Is-the-factorial-of-a-negative-number-possible if(num < 0) cout << "Not Possible"; else { for(int i = 1; i <= num; i++) fact = fact * i; } cout << "Fact " << num << ": " << fact; } // Time complexity: O(N) // Space complexity: O(1)
//Java program to find factorial of a number import java.util.Scanner; public class LearnCoding { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.print("Enter a number : "); int num = sc.nextInt(); if(num >= 0) { System.out.println(num + " Factorial: " + getFact(num)); } else System.out.println("Negative Number: No Factorial"); } private static int getFact(int num) { if(num == 1 || num == 0) return 1; return num * getFact(num-1); } }
num = 5 output = 1 for i in range(2,num+1): output*=i print(output)
20. Write the code to for Armstrong number
An Armstrong number (or Narcissistic number) is a number that is equal to the sum of its own digits each raised to the power of the number of digits.
- For example:
- 153 is an Armstrong number because 1^3 + 5^3 + 3^3 = 153.
- 370 is an Armstrong number because 3^3 + 7^3 + 0^3 = 370.
#include #include // Armstrong number is any number following the given rule // abcd... = a^n + b^n + c^n + d^n + ... // Where n is the order(length/digits in number) // Example = 153 (order/length = 3) // 153 = 1^3 + 5^3 + 3^3 = 1 + 125 + 27 = 153 // Example = 1634 (order/length = 4) // 1634 = 1^4 + 6^4 + 3^4 + 4^4 = 1 + 1296 + 81 + 256 = 1634 // number of digits in a number is order int order(int x) { int len = 0; while (x) { len++; x = x/10; } return len; } int armstrong(int num, int len){ int sum = 0, temp, digit; temp = num; // loop to extract digit, find power & add to sum while(temp != 0) { // extract digit digit = temp % 10; // add power to sum sum = sum + pow(digit,len); temp /= 10; }; return num == sum; } // Driver Code int main () { int num, len; printf("Enter a number: "); scanf("%d",&num); // function to get order(length) len = order(num); // check if Armstrong if (armstrong(num, len)) printf("%d is Armstrong", num); else printf("%d is Not Armstrong", num); }
#include<iostream> #include<math.h> using namespace std; // Armstrong number is any number following the given rule // abcd... = a^n + b^n + c^n + d^n + ... // Where n is the order(length/digits in number) // Example = 153 (order/length = 3) // 153 = 1^3 + 5^3 + 3^3 = 1 + 125 + 27 = 153 // Example = 1634 (order/length = 4) // 1634 = 1^4 + 6^4 + 3^4 + 4^4 = 1 + 1296 + 81 + 256 = 1634 // number of digits in a number is order int order(int x) { int len = 0; while (x) { len++; x = x/10; } return len; } bool armstrong(int num, int len){ int sum = 0, temp, digit; temp = num; // loop to extract digit, find power & add to sum while(temp != 0) { // extract digit digit = temp % 10; // add power to sum sum = sum + pow(digit,len); temp /= 10; }; return num == sum; } // Driver Code int main () { //variables initialization int num = 407, len; // function to get order(length) len = order(num); // check if Armstrong if (armstrong(num, len)) cout << num << " is armstrong"; else cout << num << " is not armstrong"; return 0; }
public class Main { public static void main (String[]args) { int num = 407, len; // function to get order(length) len = order (num); // check if Armstrong if (armstrong (num, len)) System.out.println(num + " is armstrong"); else System.out.println(num + " is armstrong"); } static int order (int x) { int len = 0; while (x != 0 ) { len++; x = x / 10; } return len; } static boolean armstrong (int num, int len) { int sum = 0, temp, digit; temp = num; // loop to extract digit, find power & add to sum while (temp != 0) { // extract digit digit = temp % 10; // add power to sum sum = sum + (int)Math.pow(digit, len); temp /= 10; }; return num == sum; } }
number = 371 num = number digit, sum = 0, 0 length = len(str(num)) for i in range(length): digit = int(num%10) num = num/10 sum += pow(digit,length) if sum==number: print("Armstrong") else: print("Not Armstrong")
21. Write a program to find the sum of Natural Numbers using Recursion.
This problem asks to find the sum of the first n natural numbers using recursion. The sum of the first n natural numbers is given by the formula 1 + 2 + 3 + … + n.
- For example:
Sum of first 5 natural numbers: 1 + 2 + 3 + 4 + 5 = 15.
#include<stdio.h> int getSum(int sum,int n) { if(n==0) return sum; return n+getSum(sum,n-1); } int main() { int n, sum = 0; scanf("%d",&n); printf("%d",getSum(sum, n)); return 0; } // Time complexity : O(n) // Space complexity : O(1) // Auxilary space complexity : O(N) // Due to function call stack
#include<bits/stdc++.h> using namespace std; int getSum(int n) { if(n==0) return n; return n + getSum(n-1); } int main() { int n; cout << "Enter a number : ";
cin >> n; int sum = getSum(n); cout << sum; return 0; }
public class Main { public static void main (String[]args) { int n = 10; int sum = getSum (n); System.out.println (sum); } static int getSum (int n) { if (n == 0) return n; return n + getSum (n - 1); } }
def getSum(num): if num == 1: return 1 return num + getSum(num-1) num = 5 print(getSum(num))
22. Write a program to add Two Matrices using Multi-dimensional Array.
This problem asks to add two matrices using a multi-dimensional array. Matrix addition is done by adding corresponding elements of two matrices of the same size.
- The sum matrix will have the same dimensions as the input matrices.
- Example for matrices:
- Matrix A:
[1, 2, 3]
[4, 5, 6]
- Matrix B:
[7, 8, 9]
[10, 11, 12]
- The sum of Matrix A and Matrix B:
[1+7, 2+8, 3+9]
[4+10, 5+11, 6+12]
- Result:
[8, 10, 12]
[14, 16, 18]
#include
int main() {
int r, c, a[100][100], b[100][100], sum[100][100], i, j;
printf("Enter the number of rows (between 1 and 100): ");
scanf("%d", &r);
printf("Enter the number of columns (between 1 and 100): ");
scanf("%d", &c);
printf("\nEnter elements of 1st matrix:\n");
for (i = 0; i < r; ++i)
for (j = 0; j < c; ++j) {
printf("Enter element a%d%d: ", i + 1, j + 1);
scanf("%d", &a[i][j]);
}
printf("Enter elements of 2nd matrix:\n");
for (i = 0; i < r; ++i)
for (j = 0; j < c; ++j) {
printf("Enter element a%d%d: ", i + 1, j + 1);
scanf("%d", &b[i][j]);
}
// adding two matrices
for (i = 0; i < r; ++i)
for (j = 0; j < c; ++j) {
sum[i][j] = a[i][j] + b[i][j];
}
// printing the result
printf("\nSum of two matrices: \n");
for (i = 0; i < r; ++i)
for (j = 0; j < c; ++j) {
printf("%d ", sum[i][j]);
if (j == c - 1) {
printf("\n\n");
}
}
return 0;
}
23. Write a Program to Find the Sum of Natural Numbers using Recursion.
This problem asks to find the sum of the first n natural numbers using recursion.
- The sum of the first n natural numbers is calculated by recursively adding the numbers from 1 to n.
- For example:
Sum of the first 5 natural numbers: 1 + 2 + 3 + 4 + 5 = 15.
#include
Numbers(int n);
int main() {
int num;
printf("Enter a positive integer: ");
scanf("%d", &num);
printf("Sum = %d", addNumbers(num));
return 0;
}
int addNumbers(int n) {
if (n != 0)
return n + addNumbers(n - 1);
else
return n;
}#include<bits/stdc++.h> using namespace std; int getSum(int n) { if(n==0) return n; return n + getSum(n-1); } int main() { int n; cout << "Enter a number : ";
cin >> n; int sum = getSum(n); cout << sum; return 0; }
public class Main { public static void main (String[]args) { int n = 10; int sum = getSum (n); System.out.println (sum); } static int getSum (int n) { if (n == 0) return n; return n + getSum (n - 1); } }
def recursum(number): if number == 0: return number return number + recursum(number-1) number, sum = 6,0 print(recursum(number))
24. Write code to check a String is palindrome or not?
This problem asks to check whether a given string is a palindrome or not.
- A string is considered a palindrome if it reads the same forward and backward, ignoring spaces, punctuation, and case.
- For example:
- “racecar” is a palindrome because it reads the same forward and backward.
- “hello” is not a palindrome because it does not read the same backward.
#include#include // A function to check if a string str is palindrome voids isPalindrome(char str[]) { // Start from leftmost and rightmost corners of str int l = 0; int h = strlen(str) - 1; // Keep comparing characters while they are same while (h > l) { if (str[l++] != str[h--]) { printf("%s is Not Palindrome", str); return; } } printf("%s is palindrome", str); } // Driver program to test above function int main() { isPalindrome("abba"); isPalindrome("abbccbba"); isPalindrome("geeks"); return 0; }
#include
#include
using namespace std;
int main()
{
char str1[20], str2[20];
int i, j, len = 0, flag = 0;
cout << "Enter the string : "; gets(str1); len = strlen(str1) - 1; for (i = len, j = 0; i >= 0 ; i--, j++)
str2[j] = str1[i];
if (strcmp(str1, str2))
flag = 1;
if (flag == 1)
cout << str1 << " is not a palindrome";
else
cout << str1 << " is a palindrome";
return 0;
}
import java.util.Scanner;
public class Palindrome{
public static void main(String args[]) {
Scanner reader = new Scanner(System.in);
System.out.println("Please enter a String");
String input = reader.nextLine();
System.out.printf("Is %s a palindrome? : %b %n",
input, isPalindrome(input));
System.out.println("Please enter another String");
input = reader.nextLine();
System.out.printf("Is %s a palindrome? : %b %n",
input, isPalindrome(input));
reader.close();
}
public static boolean isPalindrome(String input) {
if (input == null || input.isEmpty()) {
return true;
}
char[] array = input.toCharArray();
StringBuilder sb = new StringBuilder(input.length());
for (int i = input.length() - 1; i >= 0; i--) {
sb.append(array[i]);
}
String reverseOfString = sb.toString();
return input.equals(reverseOfString);
}
}
# function which return reverse of a string
def isPalindrome(s):
return s == s[::-1]
# Driver code
s = "malayalam"
ans = isPalindrome(s)
if ans:
print("Yes")
else:
print("No")25. Write a program for Binary to Decimal to conversion
This problem asks to convert a binary number (base 2) to its decimal (base 10) equivalent.
- Each digit in a binary number represents a power of 2, and the decimal value is the sum of these powers.
- For example:
- Binary 101 is equal to Decimal 5 because:
1 * 2^2 + 0 * 2^1 + 1 * 2^0 = 4 + 0 + 1 = 5.
- Binary 101 is equal to Decimal 5 because:
#include<stdio.h>
int main()
{
int num, binary_val, decimal_val = 0, base = 1, rem;
printf("Insert a binary num (1s and 0s) \n");
scanf("%d", &num); /* maximum five digits */
binary_val = num;
while (num > 0)
{
rem = num % 10;
decimal_val = decimal_val + rem * base;
//num/=10;
num = num / 10 ;
//base*=2;
base = base * 2;
}
//display binary number
printf("The Binary num is = %d \n", binary_val);
//display decimal number
printf("Its decimal equivalent is = %d \n", decimal_val);
return 0;
}
//C++ Program
//Convert binary to decimal
#include
#include using namespace std;
//function to convert binary to decimal
int convert(long n)
{
int i = 0,decimal= 0;
//converting binary to decimal
while (n!=0)
{
int rem = n%10;
n /= 10;
int res = rem * pow(2,i);
decimal += res;
i++;
}
return decimal;
}
//main program
int main()
{
long binary;
cout << "Enter binary number: ";
cin >> binary;
cout << binary << " in binary = " << convert(binary) << " in decimal";
return 0;
}
//Java program to convert Binary number to decimal number
import java.util.Scanner;
public class Binary_To_Decimal
{
public static void main(String args[])
{
Scanner sc = new Scanner(System.in);
System.out.print("Enter a binary number : ");
int binary = sc.nextInt();
//Declaring variable to store decimal number
int decimal = 0;
//Declaring variable to use in power
int n = 0;
//writing logic for the conversion
while(binary > 0)
{
int temp = binary%10;
decimal += temp*Math.pow(2, n);
binary = binary/10;
n++;
}
System.out.println("Decimal number : "+decimal);
//closing scanner class(not compulsory, but good practice)
sc.close();
}
}
num = int(input("Enter number:"))
binary_val = num
decimal_val = 0
base = 1
while num > 0:
rem = num % 10
decimal_val = decimal_val + rem * base
num = num // 10
base = base * 2
print("Binary Number is {} and Decimal Number is {}".format(binary_val, decimal_val))26. Write a program to check whether a character is a vowel or consonant
This problem asks to check whether a given character is a vowel or a consonant. Vowels are the letters a, e, i, o, u (both uppercase and lowercase). Any other alphabetic character is considered a consonant.
#include
int main()
{
char c;
int isLowerVowel, isUpperVowel;
printf("Enter an alphabet: ");
scanf("%c",&c);
//To find the corrector is lowercase vowel
isLowerVowel = (c == 'a' || c == 'e' || c == 'i' || c == 'o' || c == 'u');
//To find the character is Upper case vowel
isUpperVowel = (c == 'A' || c == 'E' || c == 'I' || c == 'O' || c == 'U');
// compare to charector is Lowercase Vowel or Upper case Vowel
if (isLowerVowel || isUpperVowel)
printf("%c is a vowel", c);
//to check character is alphabet or not
elseif((c >= 'a' && c= 'A' && c <= 'Z'))
prinf("\n not a alphabet\n");
else
printf("%c is a consonant", c);
return 0;
}
//C++ Program to check whether alphabet is vowel or consonant
#include <iostream>
using namespace std;
//main function
int main()
{
char c;
cout<<"Enter an alphabet: ";
cin>>c;
//checking for vowels
if(c=='a'||c=='e'||c=='i'||c=='o'||c=='u'||c=='A'||c=='E'||c=='I'||c=='O'||c=='U')
{
cout<<c<<" is a vowel"; //condition true input is vowel
}
else
{
cout<<c<<" is a consonant"; //condition false input is consonant
}
return 0;
}
//JAVA Program to check whether the character entered by user is Vowel or Consonant.
import java.util.Scanner;
public class vowelorconsonant
{
//class declaration
public static void main(String[] args)
{
//main method declaration
Scanner sc=new Scanner(System.in); //scanner class object creation
System.out.println(" Enter a character");
char c = sc.next().charAt(0); //taking a character c as input from user
if(c == 'A' || c == 'E' || c == 'I' || c == 'O' || c == 'U'
|| c == 'a' || c == 'e' || c == 'i' || c == 'o' || c == 'u') //condition for the vowels
System.out.println(" Vowel");
else if((c >= 'A' && c <= 'Z') || (c >= 'a' && c <= 'z')) //condition for the consonants
System.out.println(" Consonant");
else
System.out.println(" Not an Alphabet");
sc.close() //closing scanner class(not mandatory but good practice)
} //end of main method
} //end of class
#get user input
Char = input()
#Check if the Char belong to set of Vowels
if (Char == 'a' or Char == 'e' or Char == 'i' or Char == 'o' or Char == 'u'):
#if true
print("Character is Vowel")
else:
#if false
print("Character is Consonant")27. Write a code to find an Automorphic number
An Automorphic number is a number whose square ends with the same digits as the number itself.
- For example:
- 5 is an Automorphic number because 5^2 = 25, and the last digit is 5.
- 6 is an Automorphic number because 6^2 = 36, and the last digit is 6.
- 25 is an Automorphic number because 25^2 = 625, and the last two digits are 25.
#include<stdio.h>
int checkAutomorphic(int num)
{
int square = num * num;
while (num > 0)
{
if (num % 10 != square % 10)
return 0;
// Reduce N and square
num = num / 10;
square = square / 10;
}
return 1;
}
int main()
{
//enter value
int num;
scanf("%d",&num);
//checking condition
if(checkAutomorphic(num))
printf("Automorphic");
else
printf("Not Automorphic");
return 0;
}
//C++ Program
//Automorphic number or not
#include<iostream>
using namespace std;
//main program
int main()
{
int num,flag=0;
cout<<"Enter a positive number to check: ";
//user input
cin>>num;
int sq= num*num;
int store=num;
//check for automorphic number
while(num>0)
{
if(num%10!=sq%10)
{
flag=1;
break;
}
num=num/10;
sq=sq/10;
}
if(flag==1)
cout<<store<<" is not an Automorphic number.";
else
cout<<store<<" is an Automorphic number.";
return 0;
}
//Java program to check whether a number is Automorphic number or not
import java.util.Scanner;
public class automorphic_number_or_not
{
public static void main(String[] args)
{
//scanner class declaration
Scanner sc = new Scanner(System.in);
//input from user
System.out.print("Enter a number : ");
int number = sc.nextInt();
//Convert the number to string
String s1 = Integer.toString(number);
//Calculate the length
int l1 = s1.length();
int sq = number * number;
String s2 = Integer.toString(sq);
int l2 = s2.length();
//Create Substring
String s3 = s2.substring(l2-l1);
if(s1.equals(s3))
System.out.println("Automorphic Number");
else
System.out.println("Not an Automorphic Number");
//closing scanner class(not compulsory, but good practice)
sc.close();
}
}28. Write a code to find Find the ASCII value of a character
This problem asks to find the ASCII value of a given character. The ASCII (American Standard Code for Information Interchange) value of a character is its integer representation in the ASCII table.
- For example:
- The ASCII value of ‘A’ is 65.
- The ASCII value of ‘a’ is 97.
/* C Program to identify ASCII Value of a Character */
#include
#include
int main()
{
char a;
printf("\n Kindly insert any character \n");
scanf("%c",&a);
printf("\n The ASCII value of inserted character = %d",a);
return 0;
}
//C++ program to calcualte ASCII value of Character
#include<iostream>
using namespace std;
//main program
int main()
{
char val;
cout<<"Enter a character: ";
cin>>val;
//printing the ASCII value of input
//through typecasting
cout<<"The ASCII value of "<<val<<" is "<<(int)val;
return 0;
}
//Java program to print ASCII values of a character
import java.util.Scanner;
class Main
{
public static void main(String[] args)
{
//scanner class object creation
Scanner sc=new Scanner(System.in);
//input from user
System.out.print("Enter a Character: ");
char c=sc.next().charAt(0);
//typecasting from character type to integer type
int i = c;
//printing ASCII value of the character
System.out.println("ASCII value of "+c+" is "+i);
//closing scanner class(not compulsory, but good practice)
sc.close();
}
}
#user input
Char = input('Enter the character :')
#convert Char to Ascii value
Asciival = ord(Char)
#print Value
print(Asciival)29. Write a code to Remove all characters from string except alphabets
This problem asks to remove all characters from a string except for the alphabets (both uppercase and lowercase). This can be done by filtering the string and keeping only the alphabetic characters.
#include <stdio.h>
int main()
{
//Initializing variable.
char str[100];
int i, j;
//Accepting input.
printf(" Enter a string : ");
gets(str);
//Iterating each character and removing non alphabetical characters.
for(i = 0; str[i] != '\0'; ++i)
{
while (!( (str[i] >= 'a' && str[i] <= 'z') || (str[i] >= 'A' && str[i] <= 'Z') || str[i] == '\0') )
{
for(j = i; str[j] != '\0'; ++j)
{
str[j] = str[j+1];
}
str[j] = '\0';
}
}
//Printing output.
printf(" After removing non alphabetical characters the string is :");
puts(str);
return 0;
}
#include <iostream>
using namespace std;
int main()
{
//Initializing variable.
char str[100];
int i, j;
//Accepting input.
cout<<"Enter a string : ";
gets(str);
//Iterating each character and removing non alphabetical characters.
for(i = 0; str[i] != '\0'; ++i)
{
while (!( (str[i] >= 'a' && str[i] <= 'z') || (str[i] >= 'A' && str[i] <= 'Z') || str[i] == '\0') )
{
for(j = i; str[j] != '\0'; ++j)
{
str[j] = str[j+1];
}
str[j] = '\0';
}
}
//Printing output.
cout<<"After removing non alphabetical characters the string is :";
puts(str);
return 0;
}
import java.util.Scanner;
class RemoveCharactersInAtringExceptAlphabets {
public static void main(String[] args) {
Scanner sc =new Scanner(System.in);
System.out.print("Enter String : ");
String s = sc.nextLine();
s=s.replaceAll("[^a-zA-Z]","");
System.out.println(s);
}
}
#take user input
String1 = input('Enter the String :')
#initialize empty String
String2 = ''
for i in String1:
#check for alphabets
if (ord(i) >= 65 and ord(i) <= 90) or (ord(i) >= 97 and ord(i) <= 122):
#concatenate to empty string
String2+=i
print('Alphabets in string are :' + String2)30. Write a code to Print the smallest element of the array
This problem asks to find and print the smallest element in an array. You can do this by iterating through the array and comparing each element to find the smallest one.
- Example :
- Given an array: [5, 3, 8, 1, 9, 4]
- The smallest element in the array is 1 because it is the least value compared to the other elements.
#include < stdio.h >
int getSmallest(int arr[], int len)
{
// assign first array element as smallest
int min = arr[0];
// linearly search for the smallest element
for(int i=1; i < len; i++)
{
// if the current array element is smaller
if (arr[i] < min)
min = arr[i];
}
return min;
}
int main()
{
int arr[] = {5, 8, 7, 2, 12, 4};
// get the length of the array
int len = sizeof(arr)/sizeof(arr[0]);
printf("The smallest : %d", getSmallest(arr, len));
}#include< bits/stdc++.h>
using namespace std;
int main(){
int arr[] = { 34, 5, 89, 90, 56};
int n = sizeof(arr)/ sizeof(arr[0]);
int mini = INT_MAX;
for(int i=0; i< n; i++){
if(arr[i] < mini)
mini = arr[i];
}
cout<< mini;
}import java.util.Scanner;
public class Main
{
public static void main(String args[])
{
int arr[] = {12, 13, 1, 10, 34, 10};
int min = arr[0];
for(int i=0; i arr[i])
{
min = arr[i];
}
}
System.out.print(min);
}
} arr = [10, 89, 9, 56, 4, 80, 8]
mini = arr[0]
for i in range(len(arr)):
if arr[i] < mini:
mini = arr[i]
print (mini)31. Write a code to Reverse the element of the array
This problem asks to reverse the elements of an array. Reversing an array means arranging the elements in the opposite order, so the last element becomes the first and so on.
- Example :
- Given an array: [1, 2, 3, 4, 5]
- After reversing the array, it becomes: [5, 4, 3, 2, 1]
- The elements are arranged in the opposite order, where the last element becomes the first, and so on.
#include < stdio.h>
void printReverse(int arr[], int len){
for(int i = len - 1; i >= 0; i--)
printf("%d ", arr[i]);
}
int main()
{
int arr[] = {10, 20, 30, 40, 50, 60};
int len = sizeof(arr)/sizeof(arr[0]);
printf("Array in Reverse:\n");
printReverse(arr, len);
return 0;
}#include< bits/stdc++.h>
using namespace std;
int main(){
int arr[] = {10, 20, 30, 40, 50};
int n = sizeof(arr)/sizeof(arr[0]);
for(int i=n-1; i>=0; i--)
cout<< arr[i]<<" ";
}import java.util.Scanner;
public class Main
{
public static void main(String args[])
{
int arr[] = {10, 20, 30, 40, 50};
int n=arr.length;
for(int i=n-1; i>=0; i--)
System.out.print(arr[i]+" ");
}
}def reverseList(A, start, end):
while start < end:
A[start], A[end] = A[end], A[start]
start += 1
end -= 1
# Driver function to test above function
A = [10, 20, 30, 40, 50]
reverseList(A, 0, 4)
print(A)32. Write a code to Sort the element of the array
This problem asks to sort the elements of an array in ascending order. Sorting arranges the elements in order, with the smallest element first and the largest last.
- Example :
- Given an array of random numbers:
[52, 3, 19, 7, 88, 12, 45, 23, 100, 6, 0, 47] - After sorting in ascending order, the array becomes:
[0, 3, 6, 7, 12, 19, 23, 45, 47, 52, 88, 100] - This example contains a mix of larger and smaller numbers, and sorting arranges them from the smallest (0) to the largest (100).
- Given an array of random numbers:
#include < stdio.h>
void swap(int *xp, int *yp)
{
int temp = *xp;
*xp = *yp;
*yp = temp;
}
void selectionSort(int array[], int size)
{
int i, j, min_idx;
// Loop to iterate on array
for (i = 0; i < size-1; i++)
{
// Here we try to find the min element in array
min_idx = i;
for (j = i+1; j < size; j++)
{
if (array[j] < array[min_idx])
min_idx = j;
}
// Here we interchange the min element with first one
swap(&array[min_idx], &array[i]);
}
}
/* Display function to print values */
void display(int array[], int size)
{
int i;
for (i=0; i < size; i++)
{
printf("%d ",array[i]);
}
printf("\n");
}
// The main function to drive other functions
int main()
{
int array[] = {50, 30, 10, 90, 80, 20, 40, 70};
int size = sizeof(array)/sizeof(array[0]);
selectionSort(array, size);
display(array, size);
return 0;
}#include< bits/stdc++.h>
using namespace std;
void sorted(int arr[], int n){
for(int i=0; iarr[j]){
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
}
for(int i=0; i< n; i++)
cout<< arr[i]<<" ";
}
int main(){
int arr[] = {10, 89, 67, 45, 83, 9, 12};
int n = sizeof(arr)/sizeof(arr[0]);
sorted(arr, n);
} public class Main {
public static void main(String[] args) {
//Initialize array
int [] arr = new int [] {10, 40, 30, 20};
int temp = 0;
//Sort the array in ascending order
for (int i = 0; i < arr.length; i++) {
for (int j = i+1; j < arr.length; j++) { if(arr[i] > arr[j]) {
temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
}
//Displaying elements of array after sorting
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i] + " ");
}
}
}# List of Integers numbers = [10, 30, 40, 20] # Sorting list of Integers numbers.sort() print(numbers)
33. Write a code to Sort the element of the array without sort method
This problem asks to sort the elements of an array without using the built-in sort() method. The solution requires using the swap method to manually arrange the array in ascending order.
- One common way to do this is by using a sorting algorithm like Bubble Sort, where adjacent elements are compared and swapped if they are in the wrong order.
- Example:
Given an array:
[4, 2, 9, 1]
- Steps (Bubble Sort with Swap Method):
- First Pass:
- Compare 4 and 2. Since 4 > 2, swap them: [2, 4, 9, 1]
- Compare 4 and 9. No swap needed: [2, 4, 9, 1]
- Compare 9 and 1. Since 9 > 1, swap them: [2, 4, 1, 9]
After the first pass, the largest element 9 is in its correct position.
- Second Pass:
- Compare 2 and 4. No swap needed: [2, 4, 1, 9]
- Compare 4 and 1. Since 4 > 1, swap them: [2, 1, 4, 9]
- After the second pass, 4 is now in its correct position.
- Third Pass:
- Compare 2 and 1. Since 2 > 1, swap them: [1, 2, 4, 9]
- Now the array is fully sorted.
- Final Sorted Array:
[1, 2, 4, 9]
#include < stdio.h>
void swap(int *xp, int *yp)
{
int temp = *xp;
*xp = *yp;
*yp = temp;
}
void selectionSort(int array[], int size)
{
int i, j, min_idx;
// Loop to iterate on array
for (i = 0; i < size-1; i++)
{
// Here we try to find the min element in array
min_idx = i;
for (j = i+1; j < size; j++)
{
if (array[j] < array[min_idx])
min_idx = j;
}
// Here we interchange the min element with first one
swap(&array[min_idx], &array[i]);
}
}
/* Display function to print values */
void display(int array[], int size)
{
int i;
for (i=0; i < size; i++)
{
printf("%d ",array[i]);
}
printf("\n");
}
// The main function to drive other functions
int main()
{
int array[] = {50, 30, 10, 90, 80, 20, 40, 70};
int size = sizeof(array)/sizeof(array[0]);
selectionSort(array, size);
display(array, size);
return 0;
}#include< bits/stdc++.h>
using namespace std;
void sorted(int arr[], int n){
for(int i=0; iarr[j]){
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
}
for(int i=0; i< n; i++)
cout<< arr[i]<<" ";
}
int main(){
int arr[] = {10, 89, 67, 45, 83, 9, 12};
int n = sizeof(arr)/sizeof(arr[0]);
sorted(arr, n);
} public class Main {
public static void main(String[] args) {
//Initialize array
int [] arr = new int [] {10, 40, 30, 20};
int temp = 0;
//Sort the array in ascending order
for (int i = 0; i < arr.length; i++) {
for (int j = i+1; j < arr.length; j++) { if(arr[i] > arr[j]) {
temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
}
//Displaying elements of array after sorting
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i] + " ");
}
}
}# List of Integers numbers = [10, 30, 40, 20] # Sorting list of Integers numbers.sort() print(numbers)
34. Write a code to Replace a Substring in a string
This problem asks to replace a specific substring within a string with another substring. The task is to identify all occurrences of the substring and replace them with the new one.
- Example :
- Input String:
“I love programming in Python!” - Substitute:
Replace “Python” with “Java”. - Output:
“I love programming in Java!”
- Input String:
#include< stdio.h>
#include< string.h>
int main() {
char str[256] = "prepinsta", substr[128] = "insta", replace[128] = "ster ", output[256];
int i = 0, j = 0, flag = 0, start = 0;
str[strlen(str) - 1] = '\0';
substr[strlen(substr) - 1] = '\0';
replace[strlen(replace) - 1] = '\0';
// check whether the substring to be replaced is present
while (str[i] != '\0')
{
if (str[i] == substr[j])
{
if (!flag)
start = i;
j++;
if (substr[j] == '\0')
break;
flag = 1;
}
else
{
flag = start = j = 0;
}
i++;
}
if (substr[j] == '\0' && flag)
{
for (i = 0; i < start; i++)
output[i] = str[i];
// replace substring with another string
for (j = 0; j < strlen(replace); j++)
{
output[i] = replace[j];
i++;
}
// copy remaining portion of the input string "str"
for (j = start + strlen(substr); j < strlen(str); j++)
{
output[i] = str[j];
i++;
}
// print the final string
output[i] = '\0';
printf("Output: %s\n", output);
} else {
printf("%s is not a substring of %s\n", substr, str);
}
return 0;
}
//Replace a Substring in a String
#include< iostream.h>
#include< string.h>
using namespace std;
void replaceSubstring(char st[],char sub[],char new_str[])//Function to replace substring.
{
int stLen,subLen,newLen;
int i=0,j,k;
int flag=0,start,end;
stLen=strlen(st);
subLen=strlen(sub);
newLen=strlen(new_str);
for(i=0;i=j;k--)
st[k+1]=st[k];
st[j]=new_str[j-start];
stLen++;
i++;
}
}
}
}
//Main function.
int main()
{
char st[100] = "prepinsta",sub[100] = "insta",new_str[100]="ster ";
replaceSubstring(st,sub,new_str); //Calling created function.
//Printing result using called function.
cout<<"The string after replacing substring: "< import java.util.Scanner;
public class ReplaceASubstringInAString {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("Enter a String : ");
String s1 = sc.nextLine();
System.out.print("Enter the String to be replaced : ");
String oldString = sc.nextLine();
System.out.print("Enter the new String : ");
String newString =sc.nextLine();
String replaceString = s1.replace(oldString, newString);
System.out.println("New String is :"+replaceString);
}
}string=input("Enter String :\n")
str1=input("Enter substring which has to be replaced :\n")
str2=input("Enter substring with which str1 has to be replaced :\n")
string=string.replace(str1,str2)
print("String after replacement")
print(string)35. Write a code to Remove space from a string
This problem asks to remove all spaces from a given string. The task is to remove every occurrence of spaces, including leading, trailing, and any spaces in between the words.
- Example :
- Input String:
“This is a test string” - Output:
“Thisisateststring”
- Input String:
#include< stdio.h>
using namespace std;
// Function to remove all spaces from a given string
void removeSpaces(char *str)
{
// To keep track of non-space character count
int count = 0;
// Traverse the provided string. If the current character is not a space,
//move it to index 'count++'.
for (int i = 0; str[i]; i++)
if (str[i] != ' ')
str[count++] = str[i]; // here count is incremented
str[count] = '\0';
}
// Driver program to test above function
int main()
{
char str[] = "P re p i n sta ";
removeSpaces(str);
printf("%s", str);
return 0;
}
#include < iostream>
using namespace std;
// Function to remove all spaces from a given string
void removeSpaces(char *str)
{
// To keep track of non-space character count
int count = 0;
// Traverse the provided string. If the current character is not a space,
//move it to index 'count++'.
for (int i = 0; str[i]; i++)
if (str[i] != ' ')
str[count++] = str[i]; // here count is
// incremented
str[count] = '\0';
}
// Driver program to test above function
int main()
{
char str[] = "P re p i n sta ";
removeSpaces(str);
cout << str;
return 0;
}import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc =new Scanner(System.in);
String s = "Prepinsta is best";
char[] c = s.toCharArray();
StringBuffer sb = new StringBuffer();
for (int i = 0; i < c.length; i++) {
if( (c[i] != ' ') && (c[i]!= '\t' )) {
sb.append(c[i]);
}
}
System.out.println("String after removing spaces : "+sb);
}
}#take user input
String = "PrepInsta is fabulous"
#Use join function
String = "".join(String.split())
#print String
print("After removing spaces string is :",String)36. Write a code to Count Inversion
This problem asks to count the number of inversions in an array. An inversion in an array is a pair of indices (i, j) such that i < j and arr[i] > arr[j]. The goal is to count how many such pairs exist in the given array.
Example :
- Given the array [1, 20, 6, 4, 5], we count the number of inversions where a larger number appears before a smaller one.
- The inversions are: (20, 6), (20, 4), (20, 5), (6, 4), and (6, 5), totaling 5 inversions.
- Each inversion is counted whenever a pair (i, j) with i < j and arr[i] > arr[j] is found. Thus, the result is 5.
#include < stdio.h >
int _mergeSort(int arr[], int temp[], int left, int right);
int merge(int arr[], int temp[], int left, int mid,int right);
/* This function sorts the
input array and returns the
number of inversions in the array */
int mergeSort(int arr[], int array_size)
{
int temp[array_size];
return _mergeSort(arr, temp, 0, array_size - 1);
}
/* An auxiliary recursive function
that sorts the input array and
returns the number of inversions in the array. */
int _mergeSort(int arr[], int temp[], int left, int right)
{
int mid, inv_count = 0;
if (right > left) {
/* Divide the array into two parts and
call _mergeSortAndCountInv()
for each of the parts */
mid = (right + left) / 2;
/* Inversion count will be sum of
inversions in left-part, right-part
and number of inversions in merging */
inv_count += _mergeSort(arr, temp, left, mid);
inv_count += _mergeSort(arr, temp, mid + 1, right);
/*Merge the two parts*/
inv_count += merge(arr, temp, left, mid + 1, right);
}
return inv_count;
}
/* This funt merges two sorted arrays
and returns inversion count in the arrays.*/
int merge(int arr[], int temp[], int left, int mid,int right)
{
int i, j, k;
int inv_count = 0;
i = left; /* i is index for left subarray*/
j = mid; /* j is index for right subarray*/
k = left; /* k is index for resultant merged subarray*/
while ((i <= mid - 1) && (j <= right)) {
if (arr[i] <= arr[j]) {
temp[k++] = arr[i++];
}
else {
temp[k++] = arr[j++];
/* this is tricky -- see above
explanation/diagram for merge()*/
inv_count = inv_count + (mid - i);
}
}
/* Copy the remaining elements of left subarray
(if there are any) to temp*/
while (i <= mid - 1)
temp[k++] = arr[i++];
/* Copy the remaining elements of right subarray
(if there are any) to temp*/
while (j <= right)
temp[k++] = arr[j++];
/*Copy back the merged elements to original array*/
for (i = left; i <= right; i++)
arr[i] = temp[i];
return inv_count;
}
// Driver code
int main()
{
int n ;
scanf("%d", &n);
int arr[n];
for(int i=0; i#include < bits/stdc++.h>
using namespace std;
int _mergeSort(int arr[], int temp[], int left, int right);
int merge(int arr[], int temp[], int left, int mid,int right);
/* This function sorts the
input array and returns the
number of inversions in the array */
int mergeSort(int arr[], int array_size)
{
int temp[array_size];
return _mergeSort(arr, temp, 0, array_size - 1);
}
/* An auxiliary recursive function
that sorts the input array and
returns the number of inversions in the array. */
int _mergeSort(int arr[], int temp[], int left, int right)
{
int mid, inv_count = 0;
if (right > left) {
/* Divide the array into two parts and
call _mergeSortAndCountInv()
for each of the parts */
mid = (right + left) / 2;
/* Inversion count will be sum of
inversions in left-part, right-part
and number of inversions in merging */
inv_count += _mergeSort(arr, temp, left, mid);
inv_count += _mergeSort(arr, temp, mid + 1, right);
/*Merge the two parts*/
inv_count += merge(arr, temp, left, mid + 1, right);
}
return inv_count;
}
/* This funt merges two sorted arrays
and returns inversion count in the arrays.*/
int merge(int arr[], int temp[], int left, int mid,int right)
{
int i, j, k;
int inv_count = 0;
i = left; /* i is index for left subarray*/
j = mid; /* j is index for right subarray*/
k = left; /* k is index for resultant merged subarray*/
while ((i <= mid - 1) && (j <= right)) {
if (arr[i] <= arr[j]) {
temp[k++] = arr[i++];
}
else {
temp[k++] = arr[j++];
/* this is tricky -- see above
explanation/diagram for merge()*/
inv_count = inv_count + (mid - i);
}
}
/* Copy the remaining elements of left subarray
(if there are any) to temp*/
while (i <= mid - 1)
temp[k++] = arr[i++];
/* Copy the remaining elements of right subarray
(if there are any) to temp*/
while (j <= right)
temp[k++] = arr[j++];
/*Copy back the merged elements to original array*/
for (i = left; i <= right; i++)
arr[i] = temp[i];
return inv_count;
}
// Driver code
int main()
{
int n ;
cin>>n;
int arr[n];
for(int i=0; i>arr[i];
int ans = mergeSort(arr, n);
cout << " Number of inversions are " << ans;
return 0;
} public
class Main {
static int arr[] = new int[]{1, 6, 4, 5};
static int getInvCount(int n) {
int inv_count = 0;
for (int i = 0; i < n - 1; i++)
for (int j = i + 1; j < n; j++) if (arr[i] > arr[j]) inv_count++;
return inv_count;
}
// Driver method to test the above function
public
static void main(String[] args) {
System.out.println("Number of inversions are " + getInvCount(arr.length));
}
}def inversion(arr):
ans = 0
for i in range(len(arr)):
for j in range(i + 1, len(arr)):
if arr[j] < arr[i]:
ans += 1
return ans
array = [6, 3, 5, 2, 7]
print("There are", inversion(array), "possible inversion")37. Write a code to find consecutive largest subsequence
This problem asks to find the longest consecutive subsequence in an unsorted array. A consecutive subsequence is a sequence of numbers that appear in consecutive order but not necessarily contiguous in the original array.
Example :
- Input Array:
[100, 4, 200, 1, 3, 2] - Step 1:
Convert the array to a set for fast lookups:
{100, 4, 200, 1, 3, 2} - Step 2:
Start checking from each element:- For 100: Not part of a sequence, so skip.
- For 4: Start a sequence. Find 3, 2, and 1 in the set.
- Sequence found: [1, 2, 3, 4].
- Step 3:
The longest consecutive subsequence is [1, 2, 3, 4].
#include < stdio.h>
#include < stdlib.h>
//call back function
int compare(const void * a, const void * b)
{
return ( *(int*)a - *(int*)b );
}
int findLongestConseqSeq(int arr[], const int n)
{
int length = 1;
int longestConsecutiveSeq = 1;
int i =0;
//sort arr elements using qsort inbuilt function
qsort( arr,n, sizeof(int), compare);
for ( i = 0; i < n - 1; i++) {
if(arr[i] == arr[i+1]) {
continue;
}
else if (arr[i] + 1 == arr[i + 1]) {
length++;
}
else {
length = 1;
}
longestConsecutiveSeq = (longestConsecutiveSeq > length)? longestConsecutiveSeq: length;
}
return longestConsecutiveSeq;
}
int main()
{
int arr[] = {2,5,7,7,8,8,9,4,10,12,3,6};
const int N = sizeof(arr)/sizeof(arr[0]);
const int longestConsecutiveSeq = findLongestConseqSeq(arr, N);
printf("Longest Consecutive Sequence is %d",longestConsecutiveSeq);
return 0;
}
#include < bits/stdc++.h>
using namespace std;
// Returns length of the longest
// contiguous subsequence
int findLongestConseqSubseq(int arr[], int n)
{
int ans = 0, count = 0;
// sort the array
sort(arr, arr + n);
vector v;
v.push_back(arr[0]);
//insert repeated elements only once in the vector
for (int i = 1; i < n; i++)
{
if (arr[i] != arr[i - 1])
v.push_back(arr[i]);
}
// find the maximum length
// by traversing the array
for (int i = 0; i < v.size(); i++) { if (i > 0 && v[i] == v[i - 1] + 1)
count++;
// reset the count
else
count = 1;
// update the maximum
ans = max(ans, count);
}
return ans;
}
// Driver code
int main()
{
int arr[]={1, 3, 2, 2};
int n = sizeof(arr)/sizeof(arr[0]);
cout << "Length of the Longest contiguous subsequence is "<< findLongestConseqSubseq(arr, n);
return 0;
} import java.io.*;
import java.util.*;
public
class Main {
static int findLongestConseqSubseq(int arr[], int n)
{
// Sort the array
Arrays.sort(arr);
int ans = 0, count = 0;
ArrayList v = new ArrayList();
v.add(10);
// Insert repeated elements
// only once in the vector
for (int i = 1; i < n; i++)
{
if (arr[i] != arr[i - 1])
v.add(arr[i]);
}
// Find the maximum length
// by traversing the array
for (int i = 0; i < v.size(); i++)
{
// Check if the current element is
// equal to previous element +1
if (i > 0 && v.get(i) == v.get(i - 1))
count++;
else
count = 1;
// Update the maximum
ans = Math.max(ans, count);
}
return ans;
}
// Driver code
public static void main(String[] args)
{
int arr[] = { 1, 9, 3, 10, 4, 20, 2 };
int n = arr.length;
System.out.println(
"Length of the Longest "
+ "contiguous subsequence is "
+ findLongestConseqSubseq(arr, n));
}
}def LongestConseqSubseq(arr, l):
val = []
c = 0
for i in range(l):
n = 1
while arr[i] + n in arr:
c += 1
n += 1
val.append(c + 1)
c = 0
return max(val)
array = [7, 8, 1, 5, 4, 3]
print("Longest Consecutive Subsequence :", LongestConseqSubseq(array, len(array)))38: Write a Program to Find out the Sum of Digits of a Number.
This problem asks to find the sum of the digits of a given number. The goal is to extract each digit of the number and compute their sum.
Example :
- Input: 12345
- Extract and Add:
- 5 + 4 + 3 + 2 + 1
- Sum: 15
- Output: The sum of digits is 15.
#include
int main ()
{
int num, sum = 0;
printf("Enter any num: ");
scanf("%d",&num);
//loop to find sum of digits
while(num!=0){
sum += num % 10;
num = num / 10;
}
//output
printf("Sum: %d",sum);
return 0;
}
// Time complexity : O(N)
// Space complexity : O(1)
Find More Solutions at C Program to Find the Sum of Digits of a Number
//C++ Program
//Sum of digits in a number
#include
using namespace std;
int main ()
{
int num, sum = 0;
cout <<"Enter any num:"; cin >> num;
//loop to find sum of digits
while(num!=0){
sum += num % 10;
num = num / 10;
}
//output
cout <<"\nSum of digits : " << sum;
return 0;
}
// Time complexity : O(N)
// Space complexity : O(1)
// where N is number of digits in numFind More Solutions at C++ Program to Find the Sum of Digits of a Number
public class Main
{
public static void main (String[]args)
{
int num = 12345, sum = 0;
//loop to find sum of digits
while(num!=0){
sum += num % 10;
num = num / 10;
}
//output
System.out.println ("Sum of digits : " + sum);
}
}Find More Solutions at JAVA Program to Find the Sum of Digits of a Number
num = input("Enter Number: ")
sum = 0
for i in num:
sum = sum + int(i)
print(sum)Find More Solutions at Python Program to Find the Sum of Digits of a Number
39: Write a Program to Find out the Power of a Number
This program calculates the power of a number. Given a base a and exponent b, compute𝑎𝑏
(a raised to the power b).
Example :
- Input: Base = 2, Exponent = 5
- Calculation: 2^5 = 2×2×2×2×2
- Result: 32
- Output: 2 raised to the power 5 is: 32
// pow function is contained in math.h library
#include<stdio.h>
#include <math.h>
int main()
{
double base = 2.3;
double exp = 2.1;
double result;
// calculates the power
result = pow(base, exp);
// %lf used for double
printf("%lf ^ %lf = %lf\n", base, exp, result);
// following can be used for precision setting
printf("%.1lf ^ %.1lf = %.2lf", base, exp, result);
return 0;
}Find More Solutions at C Program to find out the Power of a Number
// This method handles all cases,
// when exponent/bases are integers/decimals or positive/negative
// pow function is contained in math.h library
#include
#include
using namespace std;
int main()
{
double base = 1.5;
double expo1 = 2.5;
double expo2 = -2.5;
double res1, res2;
// calculates the power
res1 = pow(base, expo1);
res2 = pow(base, expo2);
cout << base << " ^ " << expo1 << " = " << res1 << endl;
cout << base << " ^ " << expo2 << " = " << res2 << endl;
return 0;
}Find More Solutions at C++ Program to Find out the Power of a Number
public class Main
{
public static void main(String[] args) {
double base = 1.5;
double expo1 = 2.5;
double expo2 = -2.5;
double res1, res2;
// calculates the power
res1 = Math.pow(base, expo1);
res2 = Math.pow(base, expo2);
System.out.println(base + " ^ " + expo1 + " = " + res1 );
System.out.println(base + " ^ " + expo2 + " = " + res2 );
}
}Find More Solutions at JAVA Program to Find out the Power of a Number
num, power = 3, 2 print(pow(num,power))
Find More Solutions at Python Program to Find out the Power of a Number
40: Write a Program to Find out the Sum of Digits of a Number.
This program calculates the sum of digits of a given number. It repeatedly extracts each digit and adds them together.
Example:
- Input: 789
- Digits: 7, 8, 9
- Sum: 7 + 8 + 9 = 24
- Output: Sum of digits of 789 is: 24
#include
int main ()
{
int num, sum = 0;
printf("Enter any num: ");
scanf("%d",&num);
//loop to find sum of digits
while(num!=0){
sum += num % 10;
num = num / 10;
}
//output
printf("Sum: %d",sum);
return 0;
}
// Time complexity : O(N)
// Space complexity : O(1)
Find More Solutions at C Program to Find the Sum of Digits of a Number//C++ Program
//Sum of digits in a number
#include
using namespace std;
int main ()
{
int num, sum = 0;
cout <<"Enter any num:"; cin >> num;
//loop to find sum of digits
while(num!=0){
sum += num % 10;
num = num / 10;
}
//output
cout <<"\nSum of digits : " << sum;
return 0;
}
// Time complexity : O(N)
// Space complexity : O(1)
// where N is number of digits in numFind More Solutions at C++ Program to Find the Sum of Digits of a Number
public class Main
{
public static void main (String[]args)
{
int num = 12345, sum = 0;
//loop to find sum of digits
while(num!=0){
sum += num % 10;
num = num / 10;
}
//output
System.out.println ("Sum of digits : " + sum);
}
}Find More Solutions at JAVA Program to Find the Sum of Digits of a Number
num = input("Enter Number: ")
sum = 0
for i in num:
sum = sum + int(i)
print(sum)Find More Solutions at Python Program to Find the Sum of Digits of a Number
41: Write a Program to Add two Fractions
This program adds two fractions and gives the simplified result.
Example:
- Input Fractions: 1/2 and 1/3
- Steps: Cross multiply and add → result is 5/6
- Simplified Result: 5/6
#include<stdio.h>
int main()
{
//for initialize variables
int numerator1, denominator1, numerator2, denominator2, x, y, c, gcd_no;
//To take user input of numerators and denominators
printf("Enter the numerator for 1st number : ");
scanf("%d",&numerator1);
printf("Enter the denominator for 1st number : ");
scanf("%d",&denominator1);
printf("Enter the numerator for 2nd number : ");
scanf("%d",&numerator2);
printf("Enter the denominator for 2nd number : ");
scanf("%d",&denominator2);
//numerator
x=(numerator1*denominator2)+(denominator1*numerator2);
//denominator
y=denominator1*denominator2;
// Trick part. Reduce it to the simplest form by using gcd.
for(c=1; c <= x && c <= y; ++c)
{
if(x%c==0 && y%c==0)
gcd_no = c;
}
//To display fraction of givien numerators and denominators
printf("(%d / %d) + (%d / %d) = (%d / %d)", numerator1, denominator1, numerator2, denominator2, x/gcd_no, y/gcd_no);
return 0;
}Find More Solutions at C Program to add two fractions
#include<iostream>
using namespace std;
// GCD function
int findGCD(int n1, int n2)
{
int gcd;
for(int i=1; i <= n1 && i <= n2; i++)
{
if(n1%i==0 && n2%i==0)
gcd = i;
}
return gcd;
}
// Main Program
int main()
{
int num1,den1;
//user input first fraction
cout << "Enter numerator and denominator of first number : "; cin >> num1 >> den1;
int num2,den2;
//user input second fraction
cout << "Enter numerator and denominator of second number: "; cin >> num2 >> den2;
//finding lcm of the denominators
int lcm = (den1*den2)/findGCD(den1,den2);
//finding the sum of the numbers
int sum=(num1*lcm/den1) + (num2*lcm/den2);
//normalizing numerator and denominator of result
int num3=sum/findGCD(sum,lcm);
lcm=lcm/findGCD(sum,lcm);
//printing output
cout<<num1<<"/"<<den1<<" + "<<num2<<"/"<<den2<<" = "<<num3<<"/"<<lcm;
return 0;
}Find More Solutions at C++ Program for Addition of two Fractions
//Java program to add two fractions
import java.util.Scanner;
public class Main
{
public static void main(String[] args)
{
//scanner class declaration
Scanner sc = new Scanner(System.in);
//input from the user
System.out.print("Enter numerator for first fraction : ");
int num1 = sc.nextInt();
System.out.print("Enter denominator for first fraction : ");
int den1 = sc.nextInt();
System.out.print("Enter numerator for second fraction : ");
int num2 = sc.nextInt();
System.out.print("Enter denominator for second fraction : ");
int den2 = sc.nextInt();
int num, den, x;
System.out.print("("+num1+" / "+den1+") + ("+num2+" / "+den2+") = ");
//logic for calculating sum of two fractions
if(den1 == den2)
{
num = num1 + num2 ;
den = den1 ;
}
else{
num = (num1*den2) + (num2*den1);
den = den1 * den2;
}
if(num > den)
x = num;
else
x = den;
for(int i = 1 ; i <= x ; i++)
{
if(num%i == 0 && den%i == 0)
{
num = num/i;
den = den/i;
}
}
//logic for getting simplified fraction
int n = 1;
int p = num;
int q = den;
if( num != den)
{
while(n != 0)
{
//storing remainder
n = num % den;
if(n != 0)
{
num = den;
den = n;
}
}
}
System.out.println("("+p/den+" / "+q/den+")");
//closing scanner class(not compulsory, but good practice)
sc.close();
}
}
Find More Solutions at JAVA Program to Add two Fractions
def findGCD(n1, n2):
gcd = 0
for i in range(1, int(min(n1, n2)) + 1):
if n1 % i == 0 and n2 % i == 0:
gcd = i
return gcd
# input first fraction
num1, den1 = map(int, list(input("Enter numerator and denominator of first number : ").split(" ")))
# input first fraction
num2, den2 = map(int, list(input("Enter numerator and denominator of second number: ").split(" ")))
lcm = (den1 * den2) // findGCD(den1, den2)
sum = (num1 * lcm // den1) + (num2 * lcm // den2)
num3 = sum // findGCD(sum, lcm)
lcm = lcm // findGCD(sum, lcm)
print(num1, "/", den1, " + ", num2, "/", den2, " = ", num3, "/", lcm)Find More Solutions at Python Program to add two fractions
42: Write a Program to Find the Largest Element in an Array.
This program finds the largest element present in a given array by comparing each element.
- It checks all elements one by one and keeps track of the maximum value found so far.
Example:
- Input Array: [10, 45, 2, 67, 23]
- Compare elements: Find the biggest number.
- Largest Element: 67
- Output: Largest element is: 67
// C Program to find largest element in an array
#include<stdio.h>
int getLargest(int arr[], int len)
{
// assign first array element as largest
int max = arr[0];
// linearly search for the largest element
for(int i=1; i max)
max = arr[i];
}
return max;
}
int main()
{
int arr[] = {20, 5, 35, 40, 10, 50, 15};
// get the length of the array
int len = sizeof(arr)/sizeof(arr[0]);
printf("The Largest element is: %d", getLargest(arr, len));
}
// Time complexity: O(N)
// Space complexity: O(N)
Find More Solutions at C Program to Find the Largest Element in an Array
#include<bits/stdc++.h>
using namespace std;
int main(){
int arr[]={10, 89, 67, 56, 45, 78};
int n = sizeof(arr)/sizeof(arr[0]);
int max_element = INT_MIN;
for(int i=0; i<n; i++){ if(arr[i]>max_element)
max_element = arr[i];
}
cout<<max_element;
}Find More Solutions at C++ Program to Find the Largest Element in an Array
import java.util.Scanner;
public class Main
{
public static void main(String args[])
{
int arr[] = {12, 13, 1, 10, 34, 10};
int max = arr[0];
for(int i=0; i<arr.length; i++)
{
if(max < arr[i])
{
max = arr[i];
}
}
System.out.print(max);
}
}Find More Solutions at JAVA Program to Find the Largest Element in an Array
a = [10, 89, 9, 56, 4, 80, 8] max_element = a[0] for i in range(len(a)): if a[i] > max_element: max_element = a[i] print (max_element)
Find More Solutions at Python Program to Find the Largest Element in an Array
43: Write a Program to Find the Roots of a Quadratic Equation
This program finds the roots of a quadratic equation.
- It checks if the roots are real, equal, or complex based on calculation results.
Example:
- Input: a = 1, b = -3, c = 2
- Process: Find roots. Roots are real and different.
- Roots:2.0 and 1.0
- Output: Roots are real and different: 2.0, 1.0
#include <stdlib.h>
#include <stdio.h>
#include <stdio.h>
void findRoots(int a, int b, int c)
{
if (a == 0) {
printf("Invalid");
return;
}
int d = b * b - 4 * a * c;
double sqrt_val = sqrt(abs(d));
if (d > 0) {
printf("Roots are real and different \n");
printf("%f\n%f", (double)(-b + sqrt_val) / (2 * a),(double)(-b - sqrt_val) / (2 * a));
}
else if (d == 0) {
printf("Roots are real and same \n");
printf("%f", -(double)b / (2 * a));
}
else // d < 0
{
printf("Roots are complex \n");
printf("%f + i%f\n%f - i%f", -(double)b / (2 * a), sqrt_val/(2 * a), -(double)b / (2 * a), sqrt_val/(2 * a));
}
}
int main()
{
int a = 1, b = 4, c = 4;
findRoots(a, b, c);
return 0;
}Find More Solutions at C Program to Find the Roots of a Quadratic Equation
/* Write a program to find roots of a quadratic equation in C++*/
#include
using namespace std;
void findRoots(int a, int b, int c)
{
if (a == 0) {
cout << "Invalid";
return;
}
int d = b * b - 4 * a * c;
double sqrt_val = sqrt(abs(d));
if (d > 0) {
cout << "Roots are real and different \n";
cout << (double)(-b + sqrt_val) / (2 * a) << "\n"<< (double)(-b - sqrt_val) / (2 * a);
}
else if (d == 0) {
cout << "Roots are real and same \n";
cout << -(double)b / (2 * a);
}
else // d < 0
{
cout << "Roots are complex \n";
cout << -(double)b / (2 * a) << " + i" << sqrt_val<< "\n" << -(double)b / (2 * a) << " - i" << sqrt_val;
}
}
// Driver code
int main()
{
int a = 1, b = 4, c = 4;
findRoots(a, b, c);
return 0;
}Find More Solutions at C++ Program to Find the Roots of a Quadratic Equation
import java.io.*;
import static java.lang.Math.*;
class Main{
static void findRoots(int a, int b, int c)
{
if (a == 0) {
System.out.println("Invalid");
return;
}
int d = b * b - 4 * a * c;
double sqrt_val = sqrt(abs(d));
if (d > 0) {
System.out.println("Roots are real and different");
System.out.println((double)(-b + sqrt_val) / (2 * a) + "\n"+ (double)(-b - sqrt_val) / (2 * a));
}
else if (d == 0) {
System.out.println("Roots are real and same ");
System.out.println(-(double)b / (2 * a) + "\n" + -(double)b / (2 * a));
}
else // d < 0
{
System.out.println("Roots are complex");
System.out.println(-(double)b / (2 * a) + " + i" + sqrt_val + "\n" + -(double)b / (2 * a) + " - i" + sqrt_val);
}
}
// Driver code
public static void main(String args[])
{
int a = 1, b = 4, c = 4;
// Function call
findRoots(a, b, c);
}
}Find More Solutions at JAVA Program to Find the Roots of a Quadratic Equation
# Write a program to find roots of a quadratic equation in Python
import math
def findRoots(a, b, c):
if a == 0:
print("Invalid")
return -1
d = b * b - 4 * a * c
sqrt_val = math.sqrt(abs(d))
if d > 0:
print("Roots are real and different ")
print((-b + sqrt_val)/(2 * a))
print((-b - sqrt_val)/(2 * a))
elif d == 0:
print("Roots are real and same")
print(-b / (2*a))
else: # d<0
print("Roots are complex")
print(- b / (2*a), " + i", sqrt_val)
print(- b / (2*a), " - i", sqrt_val)
# Driver Program
a = 1
b = 4
c = 4
# Function call
findRoots(a, b, c)
Find More Solutions at Python Program to Find the Roots of a Quadratic
44: Write a Program to Find the Prime Factors of a Number.
This program finds all the prime factors of a given number. A prime factor is a factor that is a prime number.
- The program checks each number and divides the given number by all possible prime factors until it’s reduced to 1.
Example:
- Input: 56
- Process:
- Divide 56 by 2 → 56 / 2 = 28
- Divide 28 by 2 → 28 / 2 = 14
- Divide 14 by 2 → 14 / 2 = 7
- 7 is prime, so stop here.
- Prime Factors: 2, 2, 2, 7
- Output: Prime factors of 56 are: [2, 2, 2, 7]
#include<stdio.h>
void primefactor(int num) {
printf("Prime factors of the number : ");
for (int i = 2; num > 1; i++) {
while (num % i == 0) {
printf("%d ", i);
num = num / i;
}
}
}
int main() {
int num;
printf("Enter the positive integer: ");
scanf("%d", &num);
primefactor(num);
return 0;
}Find More Solutions at C Program to Find the Prime Factors of a Number
// C++ program to print all prime factors
#include
using namespace std;
void primeFactors(int n)
{
while (n % 2 == 0)
{
cout << 2 << " ";
n = n/2;
}
for (int i = 3; i <= sqrt(n); i = i + 2)
{
while (n % i == 0)
{
cout << i << " ";
n = n/i;
}
}
if (n > 2)
cout << n << " ";
}
// Driver code
int main()
{
int n = 315;
primeFactors(n);
return 0;
}Find More Solutions at C++ Program to Find the Prime Factors of a Number
import java.io.*;
import java.lang.Math;
class Main {
public static int isprime(int n){
for(int i = 2; i<=Math.sqrt(n); i++){
if(n%i==0)
return 0;
}
return 1;
}
public static void primeFactors(int n)
{
for(int i = 2; i<= n; i++){
if(isprime(i)==1){
int x = n;
while(x%i==0){
System.out.print(i + " ");
x /= i;
}
}
}
}
public static void main(String[] args)
{
int n = 90;
primeFactors(n);
}
}Find More Solutions at JAVA Program to Find the Prime Factor of a Number
def Prime_Factorial(n): if n < 4: return n arr = [] while n > 1: for i in range(2, int(2+n//2)): if i == (1 + n // 2): arr.append(n) n = n // n if n % i == 0: arr.append(i) n = n // i break return arr n = 210 print(Prime_Factorial(n))
Find More Solutions at Python Program to Find the Prime Factor of a Number
45: Write a Program to Convert Digits to Words.
This program converts a number (digits) into words. For example, the number 123 should be converted into “One Two Three”.
Example:
- Input: 123
- Process:
- 1 → “One”
- 2 → “Two”
- 3 → “Three”
- Output: Digits 123 in words are: One Two Three
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
void convert_to_words(char* num)
{
int len = strlen(num);
/* Base cases */
if (len == 0) {
fprintf(stderr, "empty string\n");
return;
}
if (len > 4) {
fprintf(stderr,
"Length more than 4 is not supported\n");
return;
}
char* single_digits[] = { "zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine" };
char* two_digits[]= { "", "ten", "eleven","twelve", "thirteen", "fourteen", "fifteen", "sixteen", "seventeen", "eighteen", "nineteen" };
char* tens_multiple[] = { "", "", "twenty", "thirty", "forty", "fifty", "sixty", "seventy", "eighty", "ninety" };
char* tens_power[] = { "hundred", "thousand" };
printf("\n%s: ", num);
if (len == 1) {
printf("%s\n", single_digits[*num - '0']);
return;
}
while (*num != '\0') {
if (len >= 3) {
if (*num - '0' != 0) {
printf("%s ", single_digits[*num - '0']);
printf("%s ", tens_power[len - 3]);
}
--len;
}
else {
if (*num == '1') {
int sum = *num - '0' + *(num + 1) - '0';
printf("%s\n", two_digits[sum]);
return;
}
else if (*num == '2' && *(num + 1) == '0') {
printf("twenty\n");
return;
}
else {
int i = *num - '0';
printf("%s ", i ? tens_multiple[i] : "");
++num;
if (*num != '0')
printf("%s ",
single_digits[*num - '0']);
}
}
++num;
}
}
int main(void)
{
convert_to_words("9459");
return 0;
}Find More Solutions at C Program to Convert Digits to Words
#include<bits/stdc++.h>
using namespace std;
void numToWords(string num){
int length_of_string = num.size();
if (length_of_string == 0){
cout<<"String is Empty"; return; } if (length_of_string > 4){
cout<<"Please enter the string with supported length";
return;
}
string ones_digits[] = {"zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine"};
string tens_digits[] = {"", "ten", "eleven", "twelve", "thirteen", "fourteen", "fifteen", "sixteen", "seventeen", "eighteen","nineteen"};
string multiple_of_ten[] = {"", "", "twenty", "thirty", "forty", "fifty", "sixty", "seventy", "eighty", "ninety"};
string power_of_ten[] = {"hundred", "thousand"};
cout<<num<<":\n";
if (length_of_string == 1){
cout<<ones_digits[num[0] - '0'];
//return;
}
int x=0;
while (x < num.size()){ if(length_of_string >= 3){
if (num[x] - 48 != 0){
cout<<ones_digits[num[x] - 48]<<"\n";
cout<<power_of_ten[length_of_string - 3]<<"\n";
length_of_string--;
}
}
else{
if (num[x] - 48 == 1){
int sum = (num[x] - 48 + num[x] - 48);
cout<<tens_digits[sum];
// return;
}
else if(num[x] - 48 == 2 and num[x + 1] - 48 == 0){
cout<<"twenty"; //return; } else{ int i = num[x] - 48; if(i > 0){
cout<<multiple_of_ten[i]<<" ";
}
else{
cout<<" ";
}
x += 1;
if(num[x] - 48 != 0){
cout<<ones_digits[num[x] - 48];
}
}
}
x++;
}
}
int main(){
numToWords("1121");
return 0;
}Find More Solutions at C++ Program to Convert Digits to Words
class Main {
static void convert_to_words(char[] num)
{
int len = num.length;
// Base cases
if (len == 0) {
System.out.println("empty string");
return;
}
if (len > 4) {
System.out.println(
"Length more than 4 is not supported");
return;
}
String[] single_digits = new String[] {
"zero", "one", "two", "three", "four",
"five", "six", "seven", "eight", "nine"
};
String[] two_digits = new String[] {
"", "ten", "eleven", "twelve",
"thirteen", "fourteen", "fifteen", "sixteen",
"seventeen", "eighteen", "nineteen"
};
String[] tens_multiple = new String[] {
"", "", "twenty", "thirty", "forty",
"fifty", "sixty", "seventy", "eighty", "ninety"
};
String[] tens_power = new String[] { "hundred", "thousand" };
System.out.print(String.valueOf(num) + ": ");
if (len == 1) {
System.out.println(single_digits[num[0] - '0']);
return;
}
int x = 0;
while (x < num.length) {
if (len >= 3) {
if (num[x] - '0' != 0) {
System.out.print(single_digits[num[x] - '0'] + " ");
System.out.print(tens_power[len - 3] + " ");
}
--len;
}
else {
if (num[x] - '0' == 1) {
int sum
= num[x] - '0' + num[x + 1] - '0';
System.out.println(two_digits[sum]);
return;
}
else if (num[x] - '0' == 2
&& num[x + 1] - '0' == 0) {
System.out.println("twenty");
return;
}
else {
int i = (num[x] - '0');
if (i > 0)
System.out.print(tens_multiple[i] + " ");
else
System.out.print("");
++x;
if (num[x] - '0' != 0)
System.out.println(single_digits[num[x] - '0']);
}
}
++x;
}
}
// Driver Code
public static void main(String[] args)
{
convert_to_words("1121".toCharArray());
}
}Find More Solutions at JAVA Program to Convert Digits to Words
from num2words import num2words # Most common usage. print(num2words(11098)) # can also specify this for -th format print(num2words(11098, to='ordinal'))
Find More Solutions at Python Program to Convert Digits to Words
46: Write a Program to Find the Factorial of a Number using Recursion.
This program calculates the factorial of a number using recursion. The factorial of a number n is the product of all positive integers less than or equal to n.
Example:
- Input: 5
- Process:
- 5 * factorial(4)
- 4 * factorial(3)
- 3 * factorial(2)
- 2 * factorial(1) (Base case: factorial of 1 is 1)
- Output: Factorial of 5 is: 120
#include<stdio.h>
int getFactorial(int num)
{
if(num == 0)
return 1;
return num * getFactorial(num-1);
}
int main ()
{
int num = 7;
int fact = getFactorial(num);
printf("Fact %d: %d",num, fact);
}Find More Solutions at C Program to Find the Factorial of a Number using Recursion
#include<iostream>
using namespace std;
int main ()
{
int num = 6, fact = 1;
// Factorial of negative number doesn't exist
// Read more here - https://www.quora.com/Is-the-factorial-of-a-negative-number-possible
if(num < 0)
cout << "Not Possible";
else
{
for(int i = 1; i <= num; i++)
fact = fact * i;
}
cout << "Fact " << num << ": " << fact;
}
// Time complexity: O(N)
// Space complexity: O(1)Find More Solutions at C++ Program to Find the Factorial of a Number using Recursion
class Main {
// method to find factorial of given number
static int factorial(int n)
{
if (n == 0)
return 1;
return n * factorial(n - 1);
}
// Driver method
public static void main(String[] args)
{
int num = 5;
System.out.println("Factorial of " + num + " is " + factorial(5));
}
}Find More Solutions at JAVA Program to Find the Factorial of a Number using Recursion
def factorial(n):
if n == 0:
return 1
return n * factorial(n - 1)
num = 5
print("Factorial of", num, "is", factorial(num))Find More Solutions at Python Program to Find the Factorial of a Number usinf Recursion
47: Write a Program to Reverse an Array
This program reverses the elements of an array. It swaps elements from the beginning and end until the entire array is reversed.
Example:
- Input: [1, 2, 3, 4, 5]
- Process:
- Swap 1 and 5 → [5, 2, 3, 4, 1]
- Swap 2 and 4 → [5, 4, 3, 2, 1]
- Array is reversed.
- Output: Reversed array: [5, 4, 3, 2, 1]
#include <stdio.h>
void printReverse(int arr[], int len){
for(int i = len - 1; i >= 0; i--)
printf("%d ", arr[i]);
}
int main()
{
int arr[] = {10, 20, 30, 40, 50, 60};
int len = sizeof(arr)/sizeof(arr[0]);
printf("Array in Reverse:\n");
printReverse(arr, len);
return 0;
}
Find More Solutions at C Program to Reverse an Array>#include<bits/stdc++.h>
using namespace std;
int main(){
int arr[] = {10, 20, 30, 40, 50};
int n = sizeof(arr)/sizeof(arr[0]);
for(int i=n-1; i>=0; i--)
cout<<arr[i]<<" ";
}Find More Solutions at C ++ Program to Reverse an Array
import java.util.Scanner;
public class Main
{
public static void main(String args[])
{
int arr[] = {10, 20, 30, 40, 50};
int n=arr.length;
for(int i=n-1; i>=0; i--)
System.out.print(arr[i]+" ");
}
}Find More Solutions at JAVA Program to Reverse an Array
def reverseList(A, start, end): while start < end: A[start], A[end] = A[end], A[start] start += 1 end -= 1 # Driver function to test above function A = [10, 20, 30, 40, 50] reverseList(A, 0, 4) print(A)
Find More Solutions at Python Program to Reverse an Array
48. Write code to check if two strings match where one string contains wildcard characters
This program checks if two strings match, where one of the strings may contain wildcard characters.
- The wildcard character * represents any sequence of characters (including an empty sequence), and ? represents any single character.
Example:
- Input:
- Pattern: “a*b?e”
- String: “ababe”
- Process:
- * matches “ab”
- ? matches “b”
- Output: Do the strings match? True
#include
#include
bool check(char *str1, char * str2) ;// declaration of the check() function
int main()
{
char str1[100],str2[100];
printf("Enter first string with wild characters : ");
gets(str1);
printf("Enter second string without wild characters : ");
gets(str2);
test(str1,str2);
return 0;
}
bool check(char *str1, char * str2)
{
// checking end of both the strings
if (*str1 == '\0' && *str2 == '\0')
return true;
// comparing the characters of both the strings and wild characters(*)
if (*str1 == '*' && *(str1+1) != '\0' && *str2 == '\0')
return false;
// checking wild characters(?)
if (*str1 == '?' || *str1 == *str2)
return check(str1+1, str2+1);
if (*str1 == '*')
return check(str1+1, str2) || check(str1, str2+1);
return false;
}
// test() function for running test cases
void test(char *str1, char *str2)
{
check(str1, str2)? puts(" Yes "): puts(" No ");
}
#include
using namespace std;
int main()
{
//Initialize the variables.
string wild,str;
//Accept the inputs.
cout<<"Enter string containing wild characters: "; cin>>wild;
cout<<"Enter string to be matched: "; cin>>str;
bool TRUE=true,FALSE=false;
bool check[wild.length()+1][str.length()+1];
check[0][0]=TRUE;
for(int i=1;i<=str.length();i++)
check[0][i]=FALSE;
for(int i=1;i<=wild.length();i++)
if(wild[i-1] == '*')//Checking for wild characters.
check[i][0]=check[i-1][0];
else
check[i][0]=FALSE;
for(int i=1;i<=wild.length();i++)
{
for(int j=1;j<=wild.length();j++)
{
if(wild[i-1] == str[j-1])
check[i][j]=check[i-1][j-1];
else if(wild[i-1] == '?')//Checking for wild character '?'.
check[i][j]=check[i-1][j-1];
else if(wild[i-1] == '*')//Checking for wild character '*'.
check[i][j]=check[i-1][j]||check[i][j-1];
else
check[i][j] =FALSE;
}
}
//Printing result
if(check[wild.length()][str.length()])
cout<<"TRUE";
else
cout<<"FALSE</span.";
}def solve(a,b): n,m=len(a),len(b) if n==0 and m==0: return True if n > 1 and a[0] == '*' and m == 0: return False if (n > 1 and a[0] == '?') or (n != 0 and m !=0 and a[0] == b[0]): return solve(a[1:],b[1:]); if n !=0 and a[0] == '*': return solve(a[1:],b) or solve(a,b[1:]) return False str1="Prepins*a"
str2="Prepinsta"
print("First string with wild characters :" , str1)
print("Second string without wild characters ::" , str2)
print(solve(str1,str2))
49: Write a Program to find out the Spiral Traversal of a Matrix.
This program finds the spiral traversal of a matrix, where the elements are visited in a spiral order starting from the top left corner.
- The traversal follows the pattern: left to right, top to bottom, right to left, and bottom to top, continuously spiraling inward.
Example:
- Input:
- Matrix:
[
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
]
- Process:
- First row: 1, 2, 3
- Last column: 6, 9
- Last row (reverse): 8, 7
- First column (reverse): 4
- Middle element: 5
- Spiral Traversal: [1, 2, 3, 6, 9, 8, 7, 4, 5]
- Output:
- Spiral traversal: [1, 2, 3, 6, 9, 8, 7, 4, 5]
#include <stdio.h>
#define r 4
#define c 4
int main()
{
int a[4][4] = { { 1, 2, 3, 4 },
{ 5, 6, 7, 8 },
{ 9, 10, 11, 12 },
{ 13, 14, 15, 16 } };
int i, left = 0, right = c-1, top = 0, bottom = r-1;
while (left <= right && top <= bottom) {
/* Print the first row
from the remaining rows */
for (i = left; i <= right; ++i) {
printf("%d ", a[top][i]);
}
top++;
/* Print the last column
from the remaining columns */
for (i = top; i <= bottom; ++i) {
printf("%d ", a[i][right]);
}
right--;
/* Print the last row from
the remaining rows */
if (top <= bottom) { for (i = right; i >= left; --i) {
printf("%d ", a[bottom][i]);
}
bottom--;
}
/* Print the first column from
the remaining columns */
if (left <= right) { for (i = bottom; i >= top; --i) {
printf("%d ", a[i][left]);
}
left++;
}
}
return 0;
}Find More Solutions at C Program to Find the Spiral Traversal of a Matrix
#include <bits/stdc++.h>
#define r 4
#define c 4
using namespace std;
int main()
{
int a[4][4] = { { 1, 2, 3, 4 },
{ 5, 6, 7, 8 },
{ 9, 10, 11, 12 },
{ 13, 14, 15, 16 } };
int i, left = 0, right = c-1, top = 0, bottom = r-1;
while (left <= right && top <= bottom) {
/* Print the first row
from the remaining rows */
for (i = left; i <= right; ++i) {
cout<<a[top][i]<<" ";
}
top++;
/* Print the last column
from the remaining columns */
for (i = top; i <= bottom; ++i) {
cout<<a[i][right]<<" ";
}
right--;
/* Print the last row from
the remaining rows */
if (top <= bottom) { for (i = right; i >= left; --i) {
cout<<a[bottom][i]<<" ";
}
bottom--;
}
/* Print the first column from
the remaining columns */
if (left <= right) { for (i = bottom; i >= top; --i) {
cout<<a[i][left]<<" ";
}
left++;
}
}
return 0;
}Find More Solutions at C++ Program for Spiral Traversal of a Matrix
import java.util.*;
class Main{
static int R = 4;
static int C = 4;
static void print(int arr[][], int i, int j, int m, int n)
{
if (i >= m || j >= n) {
return;
}
for (int p = i; p < n; p++) {
System.out.print(arr[i][p] + " ");
}
for (int p = i + 1; p < m; p++) {
System.out.print(arr[p][n - 1] + " ");
}
if ((m - 1) != i) {
for (int p = n - 2; p >= j; p--) {
System.out.print(arr[m - 1][p] + " ");
}
}
if ((n - 1) != j) {
for (int p = m - 2; p > i; p--) {
System.out.print(arr[p][j] + " ");
}
}
print(arr, i + 1, j + 1, m - 1, n - 1);
}
public static void main(String[] args)
{
int a[][] = { { 1, 2, 3, 4 },
{ 5, 6, 7, 8 },
{ 9, 10, 11, 12 },
{ 13, 14, 15, 16 } };
print(a, 0, 0, R, C);
}
}Find More Solutions at JAVA Program for Spiral Traversal of a Matrix.
50. Write a code to find Fibonacci Series using Recursion
This program calculates the Fibonacci series using recursion. In the Fibonacci series, each number is the sum of the two preceding ones, starting from 0 and 1.
Example:
- Input: 10
- Process:
- The Fibonacci sequence starts from 0 and 1.
- For n=10, the series is generated as follows:
- fibonacci(0) = 0
- fibonacci(1) = 1
- fibonacci(2) = 1 (0 + 1)
- fibonacci(3) = 2 (1 + 1)
- Continue this until n=10.
- Fibonacci Series: [0, 1, 1, 2, 3, 5, 8, 13, 21, 34]
- Output: Fibonacci series up to 10 terms: [0, 1, 1, 2, 3, 5, 8, 13, 21, 34]
//Fibonacci Series using Recursion
#include
int fibo(int n)
{
if (n <= 1)
return n;
return fibo(n-1) + fibo(n-2);
}
int main ()
{
int n = 9;
printf("%d", fib(n));
getchar();
return 0;
}
//Fibonacci Series using Recursion
#include<bits/stdc++.h>
using namespace std;
int fibo(int n)
{
if (n <= 1)
return n;
return fibo(n-1) + fibo(n-2);
}
int main ()
{
int n = 9;
cout << fibo(n);
getchar();
return 0;
}
//Fibonacci Series using Recursion
class fibonacci
{
static int fibo(int n)
{
if (n <= 1)
return n;
return fibo(n-1) + fibo(n-2);
}
public static void main (String args[])
{
int n = 9;
System.out.println(fibo(n));
}
}
#Function for nth Fibonacci number
def Fibo(n):
if n<0:
print("Incorrect input")
#1st Fibonacci number is 0
elif n==0:
return 0
#2nd Fibonacci number is 1
elif n==1:
return 1
else:
return Fibo(n-1)+Fibo(n-2)
#Main Program
print(Fibo(9))
Introduction to Programming
There are primarily four programming languages on which interviewers can ask questions. You can prepare for coding languages here:-
Other than coding languages, the placement process also requires one to learn about DSA.
Most Asked Coding Questions
Below we have given the most commonly asked coding questions in placement and interviews.
Also Check
FAQs on Most Asked Coding Questions in Placement
Question 1: What are the basics of coding?
The basics of coding are Data Types, Flow controls (loops) and functional programming.
Question 2: Which company has the hardest coding interview questions?
Product Based Companies like Google, Microsoft, Amazon ask the hardest coding interview questions.
Question 3: What language is used in coding?
Coding languages mostly used in placement exams are Java, C, C++ and Python.

Login/Signup to comment