最大公约数的算法竟然如此简单,不说了,见代码

 

#include <stdio.h>

 

int gcd(int a, int b)

{

if(b== 0)

    return a;

return gcd(b, a%b);

}

简化后如下:

 

int gcd(int a, int b)

{

  return (b==0 ? a: gcd(b, a%b));

}

 

而最小公倍数的也就为:

 

int lcm(int a, int b)

{

 return (gcd(a, b) == 0 ? 0: a*b/ gcd(a, b));

}

int main()

{

  printf("Please input for 2 numbers for gcd.\n");

  int a, b;

  scanf("%d", &a);

  scanf("%d", &b);

  printf("gcd = %d\n", gcd(a, b));

  printf("lcm = %d\n", lcm(a, b));

  return 0;

}

 

相关文章:

  • 2022-12-23
  • 2021-12-19
  • 2021-12-19
  • 2021-05-06
  • 2021-09-08
  • 2021-08-05
  • 2021-06-02
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2021-12-19
  • 2021-11-27
  • 2021-12-09
  • 2022-12-23
相关资源
相似解决方案