一个简单有趣的题(4个变量找出取走的数)
2014-09-26 14:48
106 查看
题目:
读入10000000(10^7)个无符号32位整数,从中取走一个。告诉你剩下的9999999个整数。找出取走了哪一个。
要求:
代码最多只能用4个无符号32位整型变量。
解法:
异或运算满足交换率。
故有:a = a^(b^b)^(c^c)^....^(d^d) = (a^b^c^....^d)^(b^c^....^d)
代码:
读入10000000(10^7)个无符号32位整数,从中取走一个。告诉你剩下的9999999个整数。找出取走了哪一个。
要求:
代码最多只能用4个无符号32位整型变量。
解法:
异或运算满足交换率。
故有:a = a^(b^b)^(c^c)^....^(d^d) = (a^b^c^....^d)^(b^c^....^d)
代码:
int main(){ unsigned int i,a,b,c; b = c = 0; for(i=1;i<=10000000;++i){ scanf("%u",&a); b = b ^ a; } for(i=1;i<=9999999;++i){ scanf("%u",&a); c = c ^ a; } printf("%u",b^c); }
相关文章推荐
- 一个简单有趣的题(4个变量找出取走的数)
- 如何高效的找出32位的变量,哪一位是1,只要最前面的一个?
- 简单却常用的一个SQL功能:1句SQL语句返回多个字段值到指定变量
- 一个简单有趣的C语言自打印程序print-me.c
- 找出自己应用程序里面所有的中文字符串,替换为字符串变量,并将所有字符串放到一个文本文件中。
- 一个简单的变量替换型模版
- 四道有趣的单链表面试题(单链表反序、找出链表的中间元素、链表排序、判断一个单链表是否有环) (转)
- 【转】解压缩版tomcat配置及使用(环境变量设置及测试,一个简单的web应用实例)
- tomcat配置及使用(环境变量设置及测试,一个简单的web应用实例)
- 给两个变量,如何找出一个带环单链表中是什么地方出现环的
- windows 98 设置 TEMP 环境变量时的一个有趣现象
- 在Java中建立一个简单的客户端涉及4个步骤
- 一个简单的方法:找出哪个的程序使用了哪个端口
- 简单问题:一个模式对话框消毁后,如何将它的变量传送给其它对框
- 有趣的多线程编程(1)——一个简单的例子
- 有趣的多线程编程(1)——一个简单的例子
- 一个简单的php变量记录/读取类
- 找出超链接(无重复链接)-------自己有点小用,就简单写了一个,以后方便用,大家分享!
- 一个简单有趣的java文件输出
- JDK中的一个有趣的变量命名