Chinaunix首页 | 论坛 | 博客
  • 博客访问: 676216
  • 博文数量: 194
  • 博客积分: 3831
  • 博客等级: 中校
  • 技术积分: 1843
  • 用 户 组: 普通用户
  • 注册时间: 2009-02-28 13:24
文章分类

全部博文(194)

文章存档

2012年(41)

2011年(42)

2010年(45)

2009年(66)

分类: C/C++

2009-12-04 00:54:22

有三种作法:  
  1.利用循环:   //求两个数a,b的最大公约数,下同  
    for(int   i=min(a,b);i>0;i--)  
      {  
              if(!(a%i)&&!(b%i))  
                      {    
                            cout<                            break;  
                      }  
        }  
  2.利用递归:  
    int   f_gongyue(int   a,int   b)  
      {  
              if(0==a%b)  
                      return   b;  
                else    
                        return   f_gongyue(b,a%b);  
        }  
  3.while循环:  
      int   f_gongyue(int   a,int   b)  
      {  
            int   temp;  
            while(b!=0)  
            {  
                  temp=a%b;  
                  a=b;  
                  b=temp;  
              }  
            return   a;  
        }
阅读(1509) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~