Skip to main content

Featured

C Program to Solve Two Sum Using Brute Force (With Algorithm & Output)

 Introduction The Two Sum problem is a popular coding interview question where we must find two indices of an array whose values add up to a given target. This program demonstrates a simple brute-force solution in C using nested loops and dynamic memory allocation. Problem Statement Given an integer array and a target value, return the indices of the two numbers such that they add up to the target. Each input has exactly one solution, and the same element cannot be used twice. The result should return the indices, not the values. If no solution exists, return NULL.  Algorithm / Logic Explanation Start the program. Traverse the array using a loop from index 0 to numsSize - 1 . Inside this loop, use another loop starting from i + 1 to numsSize - 1 . For every pair (i, j) , check if nums[i] + nums[j] == target . If condition becomes true: Allocate memory for 2 integers using malloc() . Store indices i and j . Set returnSize = 2 . Return the result poi...

Check if Binary Representation is Palindrome or not in C

C Program: Check if Binary Representation is Palindrome

๐Ÿ”ท C Program: Check if Binary Representation is Palindrome

#include <stdio.h>
#include <string.h>

void inttobinary(int num, char binary[])
{
    int index = 0;
    while (num > 0)
    {
        binary[index++] = (num % 2) + '0';
        num /= 2;
    }
    binary[index] = '\0';

    // Reverse the binary string
    for (int i = 0; i < index / 2; i++)
    {
        char temp = binary[i];
        binary[i] = binary[index - 1 - i];
        binary[index - 1 - i] = temp;
    }
}

int pal(char str[])
{
    int start = 0;
    int end = strlen(str) - 1;

    while (start < end)
    {
        if (str[start] != str[end])
        {
            return 0;
        }
        start++;
        end--;
    }
    return 1;
}

int main()
{
    int num;
    char binary[50];

    printf("Enter the number: ");
    scanf("%d", &num);

    if (num == 0)
    {
        printf("The binary representation of 0 is palindrome.\n");
        return 0;
    }

    inttobinary(num, binary);

    if (pal(binary))
    {
        printf("The binary representation of %d is a palindrome.\n", num);
    }
    else
    {
        printf("The binary representation of %d is not a palindrome.\n", num);
    }

    return 0;
}
  

๐Ÿ“˜ Explanation:

This program checks whether the **binary representation** of a given decimal number is a **palindrome**.

๐Ÿ”น The function inttobinary() converts a given integer to its binary equivalent using division by 2. Digits are stored in reverse order and later reversed to get the correct binary format.

๐Ÿ”น The function pal() checks if a given string is a palindrome by comparing characters from both ends until the middle.

๐Ÿ”น In main(), the number is taken from the user. If it is 0, it's directly reported as a binary palindrome.
๐Ÿ”น Otherwise, it converts the number to binary and checks if the result is a palindrome, printing the appropriate message.

๐Ÿ” Sample Output:

Enter the number: 9
The binary representation of 9 is a palindrome.

Enter the number: 10
The binary representation of 10 is not a palindrome.
    

๐Ÿท️ Keywords:

binary palindrome, binary conversion in C, C palindrome check, number to binary in C, C programs for beginners, string reversal, strcmp, strlen, strcpy

Comments

Popular Posts

๐ŸŒ™