利艾甜宠文:c++程序问题,公倍数与公约数

来源:百度文库 编辑:中科新闻网 时间:2024/05/05 20:12:21
求两个数的最小公倍数和最大公约数,有源文件和注释,最好在循环体内和主程序内的都有详细注释,我想知道每一步都是怎么实现的,越简单越好
怎么没注释啊,怎么实现的?

#include<iostream>
using namespace std;
main()
{
int m=0,n=0;
cout<<"请输入两个数(整型,从小到大):";
cin>>n>>m;
while(n>m)
{
cout<<"输入格式错误,请重新输入.:";
cin>>n>>m;
}
int a=m;
int b=n;
int i=m%n;
while(i!=0)
{
m=n;
n=i;
i=m%n;
}
cout<<endl
<<b<<"与"<<a<<"的最大公约数是:"<<n<<endl;
cout<<b<<"与"<<a<<"的最小公倍数是:"<<b*a/n<<endl;
}

如果不知道“展转相除”的算法,解释再多也没用......

恩~这个问题很经典~只是不好回答~建议看看<离散数学>杨凤杰版.好象再最大最小公因式那有.大概第五章吧~