颠覆传统方法:惊艳_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
【分析】
第一种方法先求和,再用和减去每个加数,得到另外一个加数,
第二、三种方法根据两个数的差,从特例推一般,不好理解,但我能想到已经很不容易了^_^.我刚刚看到题目时就是这么想的,但没想明白,没想到敲敲代码,验证了下还是通用的.
还是第一种方法爽!!!
【后记】从学编程的第一课就接触到这个问题了,一直用第三个临时变量交换数据,今天偶然在网上看到这个新解,有种别有洞天的感觉,不是不行,是根本就没想过.思维定势有有点也有缺点啊!!
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
【分析】
第一种方法先求和,再用和减去每个加数,得到另外一个加数,
第二、三种方法根据两个数的差,从特例推一般,不好理解,但我能想到已经很不容易了^_^.我刚刚看到题目时就是这么想的,但没想明白,没想到敲敲代码,验证了下还是通用的.
还是第一种方法爽!!!
【后记】从学编程的第一课就接触到这个问题了,一直用第三个临时变量交换数据,今天偶然在网上看到这个新解,有种别有洞天的感觉,不是不行,是根本就没想过.思维定势有有点也有缺点啊!!
相关文章推荐
- 在线教育颠覆传统教育
- 在线教育会颠覆传统学校吗?
- Java多线程通信-利用传统的线程通信wait(),notify()方法实现“生产者消费者模式”
- 论互联网的颠覆与传统企业的被颠覆
- 黑马程序员——OC基础学习(三)---从传统setter方法和getter方法到@property增强型使用(体验代码的优化过程)
- 网页中使用传统方法实现异步校验详解
- axWindowsMediaPlayer 媒体主要方法属性
- 颠覆传统!iModel Studio --全运行态可视化开发技术
- 独家专访趋势科技:传统评测方法已过时
- 新技术对传统学科的颠覆:系谱网使用大数据寻亲问祖
- 颠覆传统SaaS理念
- 躺赢:颠覆传统金融模式 理财就是这么简单
- O2O 如何颠覆传统世界
- ServletContext笔记和servlet和传统方法读取资源文件
- 一篇关于SpringMVC 传统文件上传的方法
- AI:PR的数学表示-传统方法PR
- 微软发布Win8"内幕" 危机创新颠覆传统
- 生成对抗网络(GAN)相比传统训练方法有什么优势?(一)
- 颠覆传统:凭兴趣求职80%会失败
- Blog分析师颠覆传统IT研究市场