Chinaunix首页 | 论坛 | 博客
  • 博客访问: 29957
  • 博文数量: 4
  • 博客积分: 1410
  • 博客等级: 上尉
  • 技术积分: 80
  • 用 户 组: 普通用户
  • 注册时间: 2008-06-19 11:36
文章分类

全部博文(4)

文章存档

2009年(2)

2008年(2)

我的朋友

分类: C/C++

2009-07-03 21:01:18

最小公约数 今天打算写个最小公约数的程序,非递归的方法比较简单,这里写个递归的算法。 /************************************************************************* * Copyright (c) 2009 * All rights reserved. * * 文件名称:getmax.cpp * 摘 要:求两个数的最大公约数 * * 当前版本:1.0 * 作 者:dbkcpp * 完成日期: * ***************************************************************************/ #include #include using namespace std; uint64_t getmax(uint64_t m, uint64_t n) { int k = m % n; if( 0 == k) { return n; } else { getmax( n, k); } } int main(int argc, char ** argv) { uint64_t m, n; cout << getmax( 66, 99) << endl; return 0; } 递归的关键在于:一 终止条件,即什么时候终止;这个大家可以将m和n设置适当的数字,就知道了结束条件,二 调用递归函数的时候的传参,即首次调用这个函数以后要传入的参数,这个也比较关键,至于程序里面写的为什么传那两个参数,有兴趣的朋友可以看看数学方面的推导,这里我就不详细说明了!
阅读(357) | 评论(0) | 转发(0) |
0

上一篇:前言

下一篇:没有了

给主人留下些什么吧!~~