我是靠谱客的博主 热情小蚂蚁,最近开发中收集的这篇文章主要介绍最小共倍数和最大公约数--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++所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

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

评论列表共有 0 条评论

立即
投稿
返回
顶部