c++6.0高手来

来源:百度知道 编辑:UC知道 时间:2024/05/14 12:12:52
用C++6.0编写:输入两个正数m和n,求其最大公约数和最小公陪数(尽量写的简洁好容易看的懂的】

#include<iostream.h>
void main()
{
int m,n,t,r,p;

cout<<"请输入数m,n:"<<endl;
cin>>m>>n;

if(m<n)/*判断m,n两数的大小,保证m>n,方便下面的处理*/
{
t=m;
m=n;
n=t;

}

p=m*n;/*先计算两数的乘积,而不是在while循环后再去乘,因为那是两数已经发生变化了*/

while((r=m%n)!=0)/*利用辗转相除求最大公约数*/
{
m=n;
n=r;
}

cout<<"这两个数的最大公约数为:"<<n<<endl<<"这两个数的最小公倍数为:"<<p/n<<endl;/*最小倍数=这两数之积/最大公约数*/
}