码迷,mamicode.com
首页 > 编程语言 > 详细

C++笔试题第一波

时间:2015-06-30 15:00:37      阅读:127      评论:0      收藏:0      [点我收藏+]

标签:笔试题

#include <iostream>
using namespace std;
//把指定的位置为0或者1。
int Grial(int x, int n, int flags)
{
    if (flags == 0)
    {
        x &= (~(0x1 << (n - 1)));
    }
    else
    {
        x |= (0x1 << (n - 1));
    }
    return x;
}
int main()
{
    cout << Grial(15,5,1);
    return 0;
}
#include <iostream>
using namespace std;
//成对出现的数组中找出唯一一个只出现一次的那个数。
//按位异或相异为1,相同为0。
int Grial(int a[],int n)
{
    int i;
    int count = 0;
    for (i=0;i<n;i++)
    {
        count ^= a[i];
    }
    return count;
}
int main()
{
    int a[] = { 1, 1, 6, 3, 3, 8, 8, 6, 10 };
    cout << Grial(a,9)<<endl;
    return 0;
}
#include <iostream>
using namespace std;
//求成对出现的数组中只出现一次的两个不重复的数字。
int index(int x)//求第一次出现1的下标位置。
{
    int count = 0;
    while (x)
    {
        count++;
        if (x & 0x1 == 1)
        {
            return count;
        }
        x >>= 1;
    }
}
bool test(int x,int y)//判断指定的y位是不是1。
{
    return ((x & (0x1<<(y-1)))) != 0;
}
void Grial(int a[],int n)
{
    int i = 0;
    int count = 0;
    int number1=0;//存储第一个数。
    int number2=0;//存储第二个数。
    int *Adata = new int[n];
    int *Bdata = new int[n];
    int k1 = 0;
    int k2 = 0;
    for (; i < n; i++)
    {
        count ^= a[i];
    }
    i = index(count);

    for (int j = 0; j < n; j++)//此处将数组分成两个部分。
    {
        if (test(a[j], i) == true)
        {
            Adata[k1++] = a[j];
        }
        else
        {
            Bdata[k2++] = a[j];
        }
    }
    for (i = 0; i < k1; i++)
    {
        number1 ^= Adata[i];
    }
    for (i = 0; i < k2; i++)
    {
        number2 ^= Bdata[i];
    }
    cout << number1 << endl;
    cout <<  number2 << endl;
}
int main()
{
    int a[] = {4,4,6,82,8,3,8,3,6,1070};
    Grial(a, 10);
    return 0;
}

版权声明:本文为博主原创文章,未经博主允许不得转载。

C++笔试题第一波

标签:笔试题

原文地址:http://blog.csdn.net/liuhuiyan_2014/article/details/46694647

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!