简单经典算法之最大公约数和最小公倍数
2013-09-25 01:13
232 查看
int gcd(int x,int y)
{
while(x!=y)
{
if(x>y)
x=x-y;
else
y=y-x;
}
return x;
}
最小公倍数=(x*y)/gcd(x,y)
当然在x,y很大的时候,x*y也很大,有可能超出范围;
因此:
最小公倍数=x/gcd(x,y)*y;
这样就可以避免这个问题。。
{
while(x!=y)
{
if(x>y)
x=x-y;
else
y=y-x;
}
return x;
}
最小公倍数=(x*y)/gcd(x,y)
当然在x,y很大的时候,x*y也很大,有可能超出范围;
因此:
最小公倍数=x/gcd(x,y)*y;
这样就可以避免这个问题。。
相关文章推荐
- 动易2006序列号破解算法公布
- C#数据结构与算法揭秘二
- 深入C++中API的问题详解
- 基于C语言string函数的详解
- 探讨C语言的那些小秘密之断言
- 深入探讨C语言中局部变量与全局变量在内存中的存放位置
- 基于C语言fflush()函数的使用详解
- 关于C语言除0引发的思考
- 深入分析C中不安全的sprintf与strcpy
- C中实现矩阵乘法的一种高效的方法
- c语言printf函数的使用详解
- C语言学籍管理系统源代码
- 浅析C语言中的sizeof
- c语言内存泄露示例解析
- 浅析C语言位域和位段
- 解析C语言中位字段内存分配的问题
- 学生成绩管理系统C语言代码实现
- 基于C语言sprintf函数的深入理解
- C语言中函数声明与调用问题
- 基于malloc与free函数的实现代码及分析