最小公倍数&最大公因数

 

#include <iostream.h>
/*--------------------
函数类型:int
函数功能:求最大公因数
--------------------*/
int ZDGYS(int a,int b);

/*--------------------
函数类型:int
函数功能:求最小公倍数
--------------------*/
int ZXGBS(int a,int b);

void main()
{
 int a,b;
 cout<<"输入数字1"<<endl;
 cin>>a;
 cout<<"输入数字2"<<endl;
 cin>>b;
 cout<<"它们的最大公因数为:";
 cout<<ZDGYS(a,b)<<endl;
 cout<<"它们的最小公倍数为:";
 cout<<ZXGBS(a,b)<<endl;
}

/*--------------------
ZDGYS()的实现
--------------------*/
int ZDGYS(int a,int b)

 int i=2;
 while(!(a%i==0&&b%i==0))  //从2开始求第一个可以同时约去的数
 {
  i++;
  if(i>a||i>b)//当只能约去1的时候
   return 1;
 }

 return i*ZDGYS(a/=i,b/=i);  //将所有能约去的数连乘
}

/*--------------------
ZXGBS()的实现
--------------------*/
int ZXGBS(int a,int b)
{
 return a*b/ZDGYS(a,b);
}

阅读更多
文章标签: include
个人分类: 新手练习 C++
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭