C++初级算法 1 (GCD和LCM)
2013-03-14 12:41
218 查看
这两个函数是参照百度文库里面的题目,
最小公倍数 稍做了更改:
#include <iostream>
using namespace std;
/**
* 两个数的最大公约数
*/
int gcd(int a, int b)
{
int gcdNum;
if(b == 0) {
gcdNum = a;
}
else {
gcdNum = gcd(b, a%b);
}
return gcdNum;
}
/**
两个数的最小公倍数 = 两数相乘/gcd;
*/
int lcm(int a, int b, int gcdNum)
{
int lcmNum;
lcmNum = a*b/gcdNum;
return lcmNum;
}
/*
* 算法
*
*/
int main()
{
std::cout << " 输入两个整型数字a,b:\r\n" << std::endl;
int a, b;
std::cin >> a >> b;
std::cout << "\r\n最大公约数为:" << std::endl;
int gcdNum = gcd(a, b);
std::cout << gcdNum << std::endl;
std::cout << "\r\n最小公倍数为:" << std::endl;
std::cout << lcm(a, b, gcdNum) << std::endl;
return 0;
}
改了下:用类实现
第一次写CPP class,
algorithm.h
main.cpp
运行结果:
最小公倍数 稍做了更改:
#include <iostream>
using namespace std;
/**
* 两个数的最大公约数
*/
int gcd(int a, int b)
{
int gcdNum;
if(b == 0) {
gcdNum = a;
}
else {
gcdNum = gcd(b, a%b);
}
return gcdNum;
}
/**
两个数的最小公倍数 = 两数相乘/gcd;
*/
int lcm(int a, int b, int gcdNum)
{
int lcmNum;
lcmNum = a*b/gcdNum;
return lcmNum;
}
/*
* 算法
*
*/
int main()
{
std::cout << " 输入两个整型数字a,b:\r\n" << std::endl;
int a, b;
std::cin >> a >> b;
std::cout << "\r\n最大公约数为:" << std::endl;
int gcdNum = gcd(a, b);
std::cout << gcdNum << std::endl;
std::cout << "\r\n最小公倍数为:" << std::endl;
std::cout << lcm(a, b, gcdNum) << std::endl;
return 0;
}
改了下:用类实现
第一次写CPP class,
algorithm.h
main.cpp
运行结果:
相关文章推荐
- gcd 算法实现 c/c++
- 求最大公约数(gcd)和最小公倍数(lcm)算法
- 对于求解最大公约数GCD与最小公倍数LCM的算法
- 基础数论算法(2) GCD LCM EXGCD 学习笔记
- <模板>(Miller-Rabin和Pollard_rho算法)poj 2429 GCD & LCM Inverse (数论)
- C++初级算法 2 (primeNum)
- [C/C++标准库]_[初级]_[使用算法库函数时需要注意自定义BinaryPredicate和UnaryPredicate]
- [C/C++标准库]_[初级]_[使用算法库函数时需要注意自定义BinaryPredicate和UnaryPredicate]
- C++/C经典算法百题--(39-42)年龄几何,三色球问题,两个正整数的最大公约数和(GCD)和最小公倍数(LCM)
- 【Pollard-rho算法】【DFS】poj2429 GCD & LCM Inverse
- 求两个或N个数的最大公约数(gcd)和最小公倍数(lcm)的较优算法
- 斗地主发牌算法之c++(初级)
- 求两个或N个数的最大公约数(gcd)和最小公倍数(lcm)的较优算法
- [C/C++]_[初级]_[标准库之几种算法库函数的运用,如字符串查找(字符个数查找)、分隔、删除、替换、排序、字符交换位置、大小写转换等等]
- 蓝桥杯 PASCAL三角 算法提高 c++_ch03_02
- c++中迭代器与几种简单的算法
- C/C++<算法>进制转换超详细
- 求模逆元算法的C/C++实现
- C++之堆的实现(5)---《那些奇怪的算法》
- UVa 11388 - GCD LCM (简单数论)