1,方法一:
最经典的辗转相除法.
int gcd(int x, int y)
{
return (!y)? x:gcd(y, x % y);
}
缺点:取模运算开销较大,容易成为瓶颈.
2,方法二:
int gcd(int x, int y)
{
if (x < y)
return gcd(y, x);
if (y == 0)
return x;
else
return gcd(x-y, y);
}
缺点:免去了取模,迭代次数却增加了不少.
3,方法三:
有效利用x,y的奇偶性.
若x,y均为偶数,则f(x,y) = 2*f(x>>1, y>>1);
若x为偶数,y为奇数,则f(x,y) = f(x>>1, y);
若x为奇数,y为偶数,则f(x,y) = f(x, y>>1);
若x,y均为奇数,则f(x,y) = f(y, x-y);
int gcd(int x, int y)
{
if (x < y)
return gcd(y, x);
if (y == 0)
return x;
else
{
if (isEven(x))
{
if (isEven(y))
return gcd(x >> 1, y >> 1) << 1;
else
return gcd(x >> 1, y);
}
else
{
if (isEven(y))
return gcd(x, y >> 1);
else
return gcd(y, x - y);
}
}
}
分享到:
相关推荐
化简比是将两个数的比转化为最简整数比,即将比的分子和分母同时除以它们的最大公约数。求比值则是将比的分子除以分母得到一个数值。 一、化简比 1. 12:16 可以化简为 3:4,因为12和16的最大公约数是4。 2. 1:4381 ...
24. **整除与余数问题**:糖和巧克力平均分后有余数,意味着人数是27-3和34+2的最大公约数,即24人。 25. **浮力与密度问题**:钢球重量可通过体积计算,体积差对应水位差,所以体积=(15-12)×5×4=60立方分米,...
这份资料是针对小学五年级学生的数学期中考试试卷,涵盖了多个数学知识点,包括倒数、最大公因数、最小公倍数、偶数序列、因数与倍数、2、3、5的倍数特性、几何图形的性质、体积与表面积计算、分数的理解以及方程的...
3.2 最大公约数(GCD) 72 3.3 最小公倍数(LCM) 74 3.4 斐波那契数列 75 3.5 素数判定 76 3.6 素数筛选 78 3.7 分解素因数 81 3.8 二分快速幂 83 3.9 常见数学公式总结 85 3.10 规律神器OEIS 87 第四章 ...
这份刘府镇中心小学五年级下册数学期中试卷涵盖了多个数学知识点,主要涉及分数、数对、单位换算、公倍数与公因数、几何图形、代数初步、运算以及实际问题解决。以下是对试卷中各部分知识点的详细解释: 一、填空题...
- 第2题:找最大公约数确定正方形边长。 - 第3题:计算长方形铁皮减去四个角后制作成盒子所用的铁皮面积。 - 第4题:计算长方体体积乘以水的密度得出水的重量。 14. **统计图表**:根据给出的数据绘制折线统计图...
公约数是两个或多个整数共有的约数,最大的公约数称为最大公约数;公倍数是两个或多个整数共有的倍数,最小的公倍数称为最小公倍数;质数是只有1和其本身两个正约数的自然数;合数是有超过两个正约数的自然数;假...
8. 最大公因数与最小公倍数:理解最大公因数和最小公倍数的概念,并能够求出两个数的最大公因数和最小公倍数。 9. 数字估算技巧:通过四舍五入或其他策略,对数字进行快速估算。 10. 竖式计算:能够按照竖式计算...
1. **最大公因数与最小公倍数**:在数学中,两个或多个整数共有的约数中最大的一个称为最大公因数。若两个数的最大公因数是1,则这两个数互为质数。而两个或多个整数共有的倍数中最小的一个称为最小公倍数。在题目中...
5. 最小公倍数与最大公约数:已知a=2×2×3×5,b=2×5×7,a和b的最小公倍数是2×2×3×5×7=420,最大公约数是2×5=10。此题考察了求两个数的最小公倍数和最大公约数的方法。 6. 体积单位的转换:450cm³=0.45dm³...
小学六年级的数学毕业会考试题涵盖了多个数学概念,包括时间计算、小数性质、最大公约数和最小公倍数、百分比应用、几何形状、比例、等比数列、圆柱体和梯形的面积计算、三角形性质、概率以及代数问题。下面将逐一...
- 求最小公倍数和最大公因数,例如24和18的最小公倍数是72,最大公因数是6。 - 分数与小数的互化,0.35是7/20,2.7是27/10。 17. 应用题: - 第一天卖了x吨,第二天卖了(x - t)吨,两天共卖了2x - t吨。 - 男生...
11. 最小公倍数和最大公因数:当两个非零自然数a和b的公因数只有1时,它们的最小公倍数是它们的乘积ab。 12. 正方体拼成长方体:两个完全一样的正方体拼成长方体,体积不变,但表面积会减少。 13. 数的因数和倍数...
6. 最大公约数与最小公倍数:两个数的最大公约数是它们共同因数中最大的,最小公倍数是能够被这两个数整除的最小正整数。甲数和乙数的最大公约数是2*3=6,最小公倍数是2*3*5*7=210。 7. 钟表问题:从2:00到2:25,...
- 最小公倍数和最大公约数的求解,通过分解因数找出a和b的最小公倍数是420,最大公约数是10。 - 使用天平找缺失饼干的策略,至少需要称3次才能确保找到。 - 汽车燃油效率的计算,100公里需要8升汽油,所以1公里...
- **最大公因数**:几个数的公因数中最大的一个称为这几个数的最大公因数。 - **互素**:如果两个整数只有公因数1,则称这两个数互素。 ##### 1.6 公倍数和最小公倍数 - **公倍数**:几个整数共有的倍数称为它们的...
6. 最大公因数和最小公倍数:10和9的最大公因数是1,最小公倍数是90;14和42的最大公因数是14,最小公倍数是42;24和16的最大公因数是8,最小公倍数是48。 7. 容积单位:(1)小朋友每天饮水1100毫升;(2)一瓶洗发液...
两个数的最大公约数是它们公有质因数的乘积;正方体棱长扩大3倍,体积扩大27倍;15与102是互质数;长方体框架中相交于一点的三条棱的长度和是12分米;水桶的容积是15升;合数至少有3个因数;最大公约数是4,最小公...
1.8 用调用函数求最大公约数和最小公倍数。两个整数由键盘输入 1.9 写出一个判素数的函数,在主函数输入一个整数,输出是否为素数的信息 1.10 用调用函数求水仙花数 1.11 用调用函数将3*3的二维数组行和列互换 1.12 ...
互质数指的是两个数的最大公约数是1。 13. 最大公因数(GCD)和最小小公倍数(LCM)的计算:例如,一个数的最大概数是36,这个数可能是所有小于等于36且能整除36的数,包括1、2、3、4、6、9、12、18和36。其一切...