Skip to main content

Featured

C Program to Check Prime Number Using Efficient Logic

  Introduction A prime number is a number that has exactly two distinct positive divisors: 1 and itself. In this program, we check whether a given number is prime or not using a simple and efficient logic. This type of program is commonly used in mathematics, competitive programming, and basic algorithm learning for beginners in C programming. Problem Statement The task is to write a C program that determines whether a given integer is a prime number or not. The program takes a single integer input from the user and analyzes its divisibility. If the number has no divisors other than 1 and itself, it should be identified as a prime number; otherwise, it is not prime. This problem is important in number theory and has practical relevance in areas such as cryptography, data validation, and algorithm design.  Algorithm / Logic Explanation To check whether a number is prime, we need to verify that it is not divisible by any number other than 1 and itself. The algorithm follows a si...

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

๐ŸŒ™