#include<stdio.h>
/* getMissingNo takes array and size of array as arguments*/
int getMissingNo(int a[], int n)
{
int i;
int x1 = a[0]; /* For xor of all the elements in array */
int x2 = 1; /* For xor of all the elements from 1 to n+1 */
for (i = 1; i< n; i++)
x1 = x1^a[i];
for ( i = 2; i <= n+1; i++)
x2 = x2^i;
return (x1^x2);
}
/*program to test above function */
int main()
{
int a[] = {1, 2, 4, 5, 6};
int miss = getMissingNo(a, 5);
}
I2luY2x1ZGU8c3RkaW8uaD4KIAovKiBnZXRNaXNzaW5nTm8gdGFrZXMgYXJyYXkgYW5kIHNpemUgb2YgYXJyYXkgYXMgYXJndW1lbnRzKi8KaW50IGdldE1pc3NpbmdObyhpbnQgYVtdLCBpbnQgbikKewogICAgaW50IGk7CiAgICBpbnQgeDEgPSBhWzBdOyAvKiBGb3IgeG9yIG9mIGFsbCB0aGUgZWxlbWVudHMgaW4gYXJyYXkgKi8KICAgIGludCB4MiA9IDE7IC8qIEZvciB4b3Igb2YgYWxsIHRoZSBlbGVtZW50cyBmcm9tIDEgdG8gbisxICovCiAgICAgCiAgICBmb3IgKGkgPSAxOyBpPCBuOyBpKyspCiAgICAgICAgeDEgPSB4MV5hW2ldOwogICAgICAgICAgICAKICAgIGZvciAoIGkgPSAyOyBpIDw9IG4rMTsgaSsrKQogICAgICAgIHgyID0geDJeaTsgICAgICAgICAKICAgIAogICAgcmV0dXJuICh4MV54Mik7Cn0KIAovKnByb2dyYW0gdG8gdGVzdCBhYm92ZSBmdW5jdGlvbiAqLwppbnQgbWFpbigpCnsKICAgIGludCBhW10gPSB7MSwgMiwgNCwgNSwgNn07CiAgICBpbnQgbWlzcyA9IGdldE1pc3NpbmdObyhhLCA1KTsKICAgIHByaW50ZigiJWQiLCBtaXNzKTsKICAgIGdldGNoYXIoKTsKfQ==