当前位置:首页>教育 >内容

c语言求最大公约数和最小公倍数的方法,C语言求最大公约数和最小公倍数

2024-01-25 21:03:01教育漂亮的斑马

有关c语言求最大公约数和最小公倍数的方法,C语言求最大公约数和最小公倍数的知识,许多网友还不知道,今天六月小编刚好整理了分享给大家。

c语言求最大公约数和最小公倍数的方法,C语言求最大公约数和最小公倍数

有关c语言求最大公约数和最小公倍数的方法,C语言求最大公约数和最小公倍数的知识,许多网友还不知道,今天六月小编刚好整理了分享给大家。

操作方法:

1.思路:这是一个很基础的问题,最常见的有两种方法,减法和减法。一般公式分别为f(x, y)=f(y, x%y), f(x, y)=f(y, x - y) (x=y 0)。按照一般公式写算法并不难,这里就不给出了。这里给出《编程之美》上的算法,主要是为了减少迭代次数。对于x 和y,如果y=k * y1,x=k * x1,则f(x, y)=k * f(x1, y1)。此外,如果x=p * x1,假设p 是素数,并且y % p !=0,则f(x, y)=f(p * x1, y)=f(x1, y)。取p=2。

2.//函数函数:求最大公约数//函数参数: x,y为两个数//返回值:最大公约数int gcd_solution1(int x, int y) { if( y==0) 返回x;否则if(x y) 返回gcd_solution1(y, x); else { if(x1) //x 是奇数{ if(y1) //y 是奇数return gcd_solution1(y, x-y); else //y 偶数return gcd_solution1(x, y1); } else //x 是偶数{ if(y1) //y 是奇数return gcd_solution1(x1, y); else //y 偶数return gcd_solution1(x1, y1) 1; } } }

3.求最小公倍数:最常用的方法是滚分法。有两个整数a和b:a%b取余c若c=0,则b为两数的最大公约数若c0,则a=b,b=c,则回去执行

4.int gcd_solution2(int x, int y) { int result=1; while(y) { int t=x;如果(x1) { 如果(y1) { x=y; y=t % y; } 否则y=1; } 否则{ 如果(y1) x=1;否则{ x=1; y=1;结果=1; } } } 返回结果* x;

以上就是有关c语言求最大公约数和最小公倍数的方法,C语言求最大公约数和最小公倍数的介绍,希望能够帮助到大家!

声明本站所有作品图文均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系我们

Top