您的位置:首页 > 其它

颠覆传统方法:惊艳_AX

2006-10-27 14:40 441 查看
【问题】
a=10,b=15,在不用第三方变题的前提下,把a,b的值互换

【新解】

a=a+b;
b=a-b;
a=a-b;

【举一反二】

a=a-b; //a=-5
b=a+b; //b=10
a=b-a; //a=15
-------------------
a=b-a; //a=5
b=b-a; //b=10
a=b+a; //a=15

【分析】
第一种方法先求和,再用和减去每个加数,得到另外一个加数,
第二、三种方法根据两个数的差,从特例推一般,不好理解,但我能想到已经很不容易了^_^.我刚刚看到题目时就是这么想的,但没想明白,没想到敲敲代码,验证了下还是通用的.
还是第一种方法爽!!!

【后记】从学编程的第一课就接触到这个问题了,一直用第三个临时变量交换数据,今天偶然在网上看到这个新解,有种别有洞天的感觉,不是不行,是根本就没想过.思维定势有有点也有缺点啊!!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: