C++实现输入两个正整数m和n,求其最大公约数和最小公倍数

如题所述

#include <iostream>
using namespace std;
int main()
{
int a, b;

cout << "输入两个数:" << endl;
cin >> a >> b;
int temp, num1, num2;
if(a < b)
{
temp = a;
a = b;
b = temp;
}
num1 = a;
num2 = b;
while(num2 != 0)
{
temp = num1 % num2;
num1 = num2;
num2 = temp;
}
cout << "最大公约数为:" << num1
<< " 最小公倍数为:" << (a * b) / num1 << endl;
return 0;
}
温馨提示:内容为网友见解,仅供参考
第1个回答  2013-04-12
int gdc(int m, int n) /*求公约数*/
{
int k;
for(k=m;k>0;k--)
if(m%k==0&&n%k==0)return k;
}
int lcm(int m, int n) /*求公倍数*/
{
int k;
for(k=m;;k++)
if(k%m==0&&k%n==0)return k;
}
相似回答