# C++ program to Find Nth element of the X-OR sequence

In this C++ program, we will learn how to find the Nth element of the X-OR sequence? Here, we are discussing about two methods 1) Native Method and 2) Efficient Method.
Submitted by Shubham Singh Rajawat, on January 23, 2018

To find the X-OR series there are two methods,

1. Naive method: This is the basic method in which we have to do X-OR of every number and print the last number. It’s complexity is O(n) as we have to traverse the array only once.
2. Efficient method As the X-OR series follows a simple pattern we can just find the result in constant time O(1) time complexity:
1. Take modulo of n
2. If remainder is 0 result=n
3. If remainder is 1 result=1
4. If remainder is 2 result=n+1
5. If remainder is 3 result=0

C++ program:

﻿

```#include <iostream>
using namespace std;

int sequence(int n)
{
int a;
switch(n%4)
{
case 0:
a=n;
break;
case 1:
a=1;
break;
case 2:
a=n+1;
break;
case 3:
a=0;
break;
}
return a;
}

//main function
int main(){
int n;
//input number
cin>>n;

int result=sequence(n);
cout<<result<<endl;
return 0;
}
```

Output

```First run:
127
0

Second run:
5
1
```

Explanation:

```    Number      X-OR 1 to N     modulo 4

1           0001            1 (1)
2           0011            2 (n+1)
3           0000            3 (0)
4           0100            0 (n)
5           0001            1 (1)
6           0111            2 (n+1)
7           0000            3 (0)
8           1000            0 (n)
```

TOP Interview Coding Problems/Challenges

Comments and Discussions

Ad: Are you a blogger? Join our Blogging forum.
Learn PCB Designing: PCB DESIGNING TUTORIAL

Languages: » C » C++ » C++ STL » Java » Data Structure » C#.Net » Android » Kotlin » SQL
Web Technologies: » PHP » Python » JavaScript » CSS » Ajax » Node.js » Web programming/HTML
Solved programs: » C » C++ » DS » Java » C#
Aptitude que. & ans.: » C » C++ » Java » DBMS
Interview que. & ans.: » C » Embedded C » Java » SEO » HR
CS Subjects: » CS Basics » O.S. » Networks » DBMS » Embedded Systems » Cloud Computing » Machine learning » CS Organizations » Linux » DOS
More: » Articles » Puzzles » News/Updates

© https://www.includehelp.com some rights reserved.