5.C++ 辗转相处法求最大公约数和最小公倍数
2013-11-17 20:20
411 查看
以下参考辗转相处法百度百科:
#include <iostream>
//辗转相除法求最大公约数
int MaxNumber(int a, int b)
{
int temp;
if (a<b) {
temp=a;
a=b;
b=temp;
}
if (a%b==0) {
return b;
}
else
{
return MaxNumber(b,a%b);
}
}
//最小公倍数
int minCD(int a, int b)
{
return a*b/MaxNumber(a, b);
}
int main(int argc, const char * argv[])
{
/*
表达式的副作用
——赋值类
——自增、自减
*/
int i,j,k;
i=5;
j=9;
k=i+++j;
std::cout<<"i="<<i<<std::endl;//6
std::cout<<"j="<<j<<std::endl;//9
std::cout<<"k="<<k<<std::endl;//14
k=i+(++j);
std::cout<<"k="<<k<<std::endl;//16
/*
逗号表达式
表达式1,表达式2
*/
int a,b,c,d;
(a=1,b=56,c=10,d)=5;
std::cout<<"d="<<d<<std::endl;//5
//调用函数
std::cout<<"请输入两个数:"<<std::endl;
std::cin>>a>>b;
std::cout<<"最大公约数:"<<MaxNumber(a, b)<<std::endl;
std::cout<<"最小公倍数:"<<minCD(a, b)<<std::endl;
return 0;
}
#include <iostream>
//辗转相除法求最大公约数
int MaxNumber(int a, int b)
{
int temp;
if (a<b) {
temp=a;
a=b;
b=temp;
}
if (a%b==0) {
return b;
}
else
{
return MaxNumber(b,a%b);
}
}
//最小公倍数
int minCD(int a, int b)
{
return a*b/MaxNumber(a, b);
}
int main(int argc, const char * argv[])
{
/*
表达式的副作用
——赋值类
——自增、自减
*/
int i,j,k;
i=5;
j=9;
k=i+++j;
std::cout<<"i="<<i<<std::endl;//6
std::cout<<"j="<<j<<std::endl;//9
std::cout<<"k="<<k<<std::endl;//14
k=i+(++j);
std::cout<<"k="<<k<<std::endl;//16
/*
逗号表达式
表达式1,表达式2
*/
int a,b,c,d;
(a=1,b=56,c=10,d)=5;
std::cout<<"d="<<d<<std::endl;//5
//调用函数
std::cout<<"请输入两个数:"<<std::endl;
std::cin>>a>>b;
std::cout<<"最大公约数:"<<MaxNumber(a, b)<<std::endl;
std::cout<<"最小公倍数:"<<minCD(a, b)<<std::endl;
return 0;
}
相关文章推荐
- 【杭电-oj】-1108-最小公倍数(先辗转相除找到最大公约数)
- 辗转相除求最大公约数和最小公倍数
- |洛谷|数学|P1029 最大公约数和最小公倍数问题
- 【codevs 1012】 最大公约数和最小公倍数问题
- 最大公约数和最小公倍数问题
- c::求两个数的最大公约数和最小公倍数
- Java求两个正整数的最大公约数和最小公倍数
- codevs1012 最大公约数和最小公倍数问题
- 求最大公约数,最小公倍数的算法
- 多种算法求最大公约数和最小公倍数
- [NewCoder]最大公约数和最小公倍数
- Java求最大公约数和最小公倍数
- 【枚举】洛谷 P1029 最大公约数和最小公倍数问题
- 使用递归方式求最大公约数和最小公倍数
- java求最大公约数和最小公倍数
- 求最大公约数与最小公倍数
- 洛谷 1029 最大公约数和最小公倍数问题
- 两个正整数的最大公约数和最小公倍数
- 求最大公约数与最小公倍数(穷举)
- 【最大公约数、最小公倍数】输入两个数字,分别求最大公约数和最小公倍数