我是靠谱客的博主 热情小蚂蚁,这篇文章主要介绍最小共倍数和最大公约数--C++,现在分享给大家,希望可以做个参考。

算法:

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++内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(60)

评论列表共有 0 条评论

立即
投稿
返回
顶部