zoukankan      html  css  js  c++  java
  • 101,102找出不同数

    第一题:101个数中只有一个数字不同,找出这个数

    第二题:102个数字,有两个互不相同的数和其他数字不同,找出这两个数

     1 int main(int argc,char* argv[])
     2 {
     3     //101个数有一个不一样的
     4     int arr[101];
     5     for(int i=0 ; i<101 ; ++i)
     6         arr[i]=5;
     7     arr[66]=66;
     8 
     9     int tmp=arr[0];
    10     for(int i=1 ; i<101 ; ++i)
    11         tmp=arr[i]^tmp;
    12     printf("101不同的数字为:%d
    ",tmp);
    13 
    14     //102个数有2个不一样的
    15     int* arr2=(int*)malloc(102*sizeof(int));
    16     for(int i=0 ; i<102 ; ++i)
    17         arr2[i]=66;
    18     arr2[66]=77;
    19     arr2[88]=99;
    20     int tmp2=0;
    21     for(int i=0 ; i<102 ; ++i)
    22         tmp2=tmp2^arr2[i];
    23     int tool=((~tmp2)+1)&tmp2,num1=0,num2=0;
    24     
    25     for(int i=0 ; i<102 ; ++i)
    26     {
    27         //printf("%d ^ %d  num1=%d   num2=%d
    ", i ,arr2[i],num1,num2);
    28         if((arr2[i] & tool) == 0)            //【warning】“==”优先级比“&”要高,前面的与运算要加括号
    29             num1=num1^arr2[i];
    30         else
    31             num2=num2^arr2[i];
    32     }
    33     printf("102不同数字1:%d 不同数字2:%d
    ",num1,num2);
    34 
    35     free(arr2);
    36 
    37     system("pause");
    38     return 0;
    39 }
  • 相关阅读:
    三种等待时间的区别
    多种测试的测试方法
    测试面试题总结
    自动化过程中定位不到元素时使用等待方法
    账号登录测试,多表查询
    TP商城添加购物车自动化测试
    二十四个球
    老鼠喝药
    购物车测试点
    前后端分页
  • 原文地址:https://www.cnblogs.com/Evence/p/4468915.html
Copyright © 2011-2022 走看看