C和指针之函数之求最大公约数

举报
chenyu 发表于 2021/07/27 01:27:21 2021/07/27
【摘要】 1、求最大公约数 求公约数的规则如下 /** * M % N = 0 : N *gcd(M, N) = * M % N = R, R > 0 : gcd(N, R) */     2、代码实现 #include <stdio.h>/** * M % N = 0 : N *gcd(M, N) = * M...

1、求最大公约数

求公约数的规则如下

   
  1. /**
  2. * M % N = 0 : N
  3. *gcd(M, N) =
  4. * M % N = R, R > 0 : gcd(N, R)
  5. */

 

 


2、代码实现


   
  1. #include <stdio.h>
  2. /**
  3. * M % N = 0 : N
  4. *gcd(M, N) =
  5. * M % N = R, R > 0 : gcd(N, R)
  6. */
  7. int gcd(int M, int N)
  8. {
  9. if (M <= 0 || N <= 0)
  10. return 0;
  11. int result = M % N;
  12. return result == 0 ? N : gcd(N, result);
  13. }
  14. int main()
  15. {
  16. int result = gcd (18, 12);
  17. printf("result is %d\n", result);
  18. return 0;
  19. }

 

 


3、运行结果


   
  1. 1111deMacBook-Pro:dabian a1111$ gcc -g gcd.c -o gcd
  2. 1111deMacBook-Pro:dabian a1111$ ./gcd
  3. result is 6

 
 
 
 

 

文章来源: chenyu.blog.csdn.net,作者:chen.yu,版权归原作者所有,如需转载,请联系作者。

原文链接:chenyu.blog.csdn.net/article/details/78474086

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。