C Program to Check whether the Given Integer has an Alternate Pattern

This is a C Program to check whether the given integer has an alternate pattern.

Problem Description

This C Program checks whether the given integer has an alternate pattern.

Problem Solution

Take input from the user and checks alternate pattern as shown in the program below.

Program/Source Code

Here is source code of the C Program to check whether the given integer has an alternate pattern. The C program is successfully compiled and run on a Linux system. The program output is also shown below.

/*
 * C Program to Check whether the given Integer has an Alternate 
 * Pattern 
 */
#include <stdio.h>
#include <stdlib.h>
int main ()
{
	int num = 0, n = 0, i =0;
	int count = 0;
	printf("Enter the number: ");
	scanf ("%d", &num);
	n = num;
	// first lets count the number of bits
	while (n)
	{
		count ++;
		n = n >> 1;
	}
	printf ("\n COUNT : %d", count);
 
	// now check for alternative
	for (i = 0; i <= count - 2; i++)
	{
		if (((num >> i) & 1) == ((num >> (i+2)) & 1))
		{
			continue;
		}
		else
		{
			printf ("\nFALSE : ALTERNATIVE PATTERN DOES NOT EXIST\n");
			exit (0);
		}
 
	}
	printf ("\nTRUE : ALTERNATIVE PATTERN DOES EXIST\n");
        return 0;
}
Program Explanation

1. In this C Program, we are reading the number using ‘num’ variable. Take the input from the user in the number form.
2. Count the number of bits in the given number using while loop.
3. (num >> n) & 1 is used to convert the n’th bit in the binary number. Where n is the nth position of the bit.
4. for loop statement is used to check that any alternative pattern exists or not. If there is an alternative pattern just continue. else break the statement.

advertisement
advertisement
Runtime Test Cases

Test case 1 – Here, the entered number is a valid number.

$ gcc alternative.c -o alternative
$ ./alternative
 
Enter the number: 10
 
COUNT : 4
TRUE : ALTERNATIVE PATTERN DOES EXIST

Test case 2 – Here, the entered number is a invalid number.

Note: Join free Sanfoundry classes at Telegram or Youtube
$ gcc alternative.c -o alternative
$ ./alternative
 
Enter the number: 15
 
COUNT : 4
FALSE : ALTERNATIVE PATTERN DOES NOT EXIST

Sanfoundry Global Education & Learning Series – 1000 C Programs.

Here’s the list of Best Books in C Programming, Data-Structures and Algorithms

advertisement
If you wish to look at programming examples on all topics, go to C Programming Examples.

If you find any mistake above, kindly email to [email protected]

advertisement
advertisement
Subscribe to our Newsletters (Subject-wise). Participate in the Sanfoundry Certification contest to get free Certificate of Merit. Join our social networks below and stay updated with latest contests, videos, internships and jobs!

Youtube | Telegram | LinkedIn | Instagram | Facebook | Twitter | Pinterest
Manish Bhojasia - Founder & CTO at Sanfoundry
Manish Bhojasia, a technology veteran with 20+ years @ Cisco & Wipro, is Founder and CTO at Sanfoundry. He lives in Bangalore, and focuses on development of Linux Kernel, SAN Technologies, Advanced C, Data Structures & Alogrithms. Stay connected with him at LinkedIn.

Subscribe to his free Masterclasses at Youtube & discussions at Telegram SanfoundryClasses.