zoukankan      html  css  js  c++  java
  • NYOJ

    找球号(三)
    时间限制:2000 ms | 内存限制:3000 KB
    难度:2
    描述
    xiaod现在正在某个球场负责网球的管理工作。为了方便管理,他把每个球都编了号,且每个编号的球的总个数都是偶数。有一天,xiaod发现少了一个球,你能帮他找出丢的那个球的球号吗?

    输入
    有多组测试数据。每组数据包括两行。
    第一行是一个整数N(0

    #include<stdio.h>
    #include<algorithm>
    using namespace std;
    int main()
    {
        int n,i;
        while(~scanf("%d",&n))
        {
            int k=0,m;
            for(i=0; i<n; i++)
            {
                scanf("%d",&m);
                k^=m;
            }
            printf("%d
    ",k);
        }
        return 0;
    }

    这题主要用到了位运算的一个小的技巧,也就是假设一个数k ,k ^A^A = k 也就是说,k与偶数个其他数字按位异或运算之后,还是本身。那么,可以利用这个特点,直接解决这个问题
    异或运算符的特点是:数a两次异或同一个数b仍然为原值a ,即a=a^b^b.

    "No regrets."
  • 相关阅读:
    HookLogger的使用
    文件创建与读写练习
    存储流练习2
    闭包
    Console命令详解,让调试js代码变得更简单
    清除浮动的3种方法
    js继承的几种实现方法
    题一
    题二
    十个修复IE6下bug技巧
  • 原文地址:https://www.cnblogs.com/zxy160/p/7215162.html
Copyright © 2011-2022 走看看