BeefLiu

所有的一切都只在于你

我的求最大公约数和最小公倍数

#include <iostream>
using namespace std;
//最小公倍数
int TheMin(int i,int j)
{
    
int max,min;
    max 
= (i>j)?i:j;
    min 
= (i>j)?j:i;
    
for(int a = 1;;a++)
    {
        
if(max*a%min == 0)
        {
            
return max*a;
        }
    }
}

//最大公约数
int TheMax(int i,int j)
{
    
int max,min,mid;
    max 
= (i>j)?i:j;
    min 
= (i>j)?j:i;
    
if(max%min == 0)
    {
        
return min;
    }
    
for(int a = 2;;a++)
    {
        
if(min%== 0)
        {
            
return TheMax(max,min/a);
        }
    }
}
int main()
{
    
int i,j,r1,r2;
    cin
>>i>>j;
    r1
=TheMin(i,j);
    r2
=TheMax(i,j);
    cout
<<r1<<endl<<r2<<endl;
    system(
"pause");
    
return 0;
}

posted on 2009-12-15 11:30 BeefLiu 阅读(226) 评论(2)  编辑 收藏 引用 所属分类: c++

评论

# re: 我的求最大公约数和最小公倍数 2009-12-15 16:56 vbxv

不嫌麻烦吗?为什么不用while循环  回复  更多评论   

# re: 我的求最大公约数和最小公倍数 2009-12-16 07:48 BeefLiu

@vbxv
呵呵,时有所闻麻烦,谢谢提醒!  回复  更多评论   


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理