概述
算法:
GCD(a,0)=a; //GCD---greatest commondivisor,最大公约数
GCD(a,b)=GCD(b,a%b) =......=GCD(r,0) =r //假设a>b
GCM(a,b)=GCD(a,b) * max(a,b) //greatest commonmeasure
程序代码:
/*
* test.cpp
*
* Created on: 2011-10-11
* Author: ubuntu
*/
#include<iostream>
#include<cstdio>
using namespace std;
/**
*求两个数的最大公约数
*/
int get_gcd(int a, int b) {
int gcd = 0, r;
if (a < b) {
int temp = a;
a = b;
b = temp;
}
gcd = b;
r = a % b;
if (r != 0)
gcd = get_gcd(b, r);
return gcd;
}
/**
* 获取两个数的最小公倍数
*/
int get_lcm(int a, int b) {
int gcd = get_gcd(a, b);
int lcm = a * b / gcd;
return lcm;
}
int main() {
int a, b;
while (scanf("%d%d", &a, &b) == 2 && a + b) {
cout << "最大公约数" <<get_gcd(a, b) << endl;
cout << "最小公倍数" <<get_lcm(a, b) << endl;
}
return 0;
}
最后
以上就是热情小蚂蚁为你收集整理的最小共倍数和最大公约数--C++的全部内容,希望文章能够帮你解决最小共倍数和最大公约数--C++所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复