最大公约数 最小公倍数、、、


 最大公约数算法:

欧几里德法求最大公约数

用大数减去小数 直到两数相等为止、

while(a!=b)
{
  if(a>b) a=a-b;
  else b=b-a;
}
 cout<<a<<endl;


辗转相除

用大数mod小数 赋值给小数

小数赋值给大数

知道余数为0

输出小数、

//前提  a>b

while(b!=0)
{
  r=a%b;
  a=b;
  b=r;
}
cout<<a<<endl;


 、、、、、、、、、、、、、、、、、、

最小公倍数算法:

最小公倍数=a*b/最大公约数、

当数据较大时  可能会溢出、

调整一下计算顺序 会解决、

cout<<a*b/y<<endl;

改为:

cout<<a/y*b<<endl;




你可能感兴趣的:(最大公约数 最小公倍数、、、)