从TAOCP开始,看看两数交换的简单实现
2014-07-15 00:00
996 查看
接下来,我们进入另外一个算法探讨(TAOCP的算法E0):
E0.[确保m >= n] 如果 m
这种算法题很简单,刚学C语言的人也能轻易写出,比如:
E0.[确保m >= n] 如果 m
这种算法题很简单,刚学C语言的人也能轻易写出,比如:
#include "stdio.h" void main() { int m,n,k; printf("请输入两个不同的整数:\n"); scanf("%d%d",&m,&n); printf("m = %d, n = %d\n", m, n); if(m 其实 TAOCP 引出 E0 这个算法小片段的本意是辗转相除法可能会用到交换两数,比如两个数的最小公倍数和最大公约数。通过反复求余运算直至余数为0,来求得最大公约数。一般要求第一个数大于第二个数。最小公倍数可由m,n和最大公约数(bcd)得到。scm=m*n/bcd. 给出的程序如下:#include "stdio.h" void main() { int m,n,t,k,r; printf("Please input two positive integers:\n"); scanf("%d%d",&m,&n); t=m*n; if(m 虽然交换两数是本小节的一个算法片段,我们也不妨借题发挥,深入探讨一下交换两数的更多细节。
相关文章推荐
- C_利用函数的引用调用实现两数的交换
- C语言实现两数交换函数
- 使用异或运算实现两数交换
- C语言两数实现交换
- C语言实现两数交换函数
- 显式实现的接口成员--从简单开始(三)
- Vivado实现纯逻辑开发——从最简单的开始
- js简单实现交换Li的值
- 位操作实现-两数交换
- 【SSH进阶之路】一步步重构容器实现Spring框架——从一个简单的容器开始(八)
- C语言实现两数交换函数
- 学习C#从俄罗斯方块开始(二)俄罗斯方块的规则和算法的简单实现
- 实现两数 交换的三种不同编程方法。
- 【Python】简单例题tuple和list的转换;实现删除一个list里重复的元素;对list a进行排序,并且从最后一个开始删除重复元素
- 简单记一个元素交换swap实现
- 学习C#从俄罗斯方块开始(二)俄罗斯方块的规则和算法的简单实现
- 黑马程序员之ADO.NET学习笔记:不用第三个变量,实现两数交换
- 关于安卓开始实现最简单地获取系统时间
- 【SSH进阶之路】一步步重构MVC实现Struts框架——从一个简单MVC开始(三)
- 黑马程序员—C学习笔记—三种方法实现两数交换