求最大公约数和最小公倍数(利用递归实现)
来源:互联网 发布:列表是什么网络意思 编辑:程序博客网 时间:2024/05/18 20:35
今天看了学长一段代码真是惊为天人啊。原来他们最大公约数gcd都是这样求的:
#include<stdio.h>#include<string.h>#include<math.h>int gcd(int x,int y){ return y? gcd(y,x%y):x; } /*这里可以看出如果是x比y小时,x对y取余还是x,x则变为y,只比较一次就相当于交换了位置可以看出,因为这里用的还是辗转相除法。所以当y为0时可以得到最大公约数,即是此时的x*/int main(void){ int a,b; scanf("%d %d",&a,&b); int c = gcd(a,b); printf("最小公倍数为:%d,最大公约数为:%d",a/c*b,c); return 0;}
注释是我自己加上去的。。。感觉理解不透啊。还是要精简自己的代码啊。这是我以前求最大公约数的代码
#include<stdio.h>#include<string.h>#include<math.h>int gcd(int n,int m){ int t,i,j; if(n < m) { t = n; n = m; m = t; } while(n % m) { t = n % m; n = m; m = t; } return m;}int main(void){ int a,b; scanf("%d %d",&a,&b); printf("最大公约数为:%d",gcd(a,b)); return 0;}
真是惭愧啊。
0 0
- 求最大公约数和最小公倍数(利用递归实现)
- 递归实现求最大公约数和最小公倍数
- 递归求最大公约数和最小公倍数
- 使用递归方式求最大公约数和最小公倍数
- 利用最大公约数求最小公倍数
- 递归实现最大公约数最小公倍数
- python实现递归和非递归求两个数最大公约数、最小公倍数
- java递归实现最大公约数和最小公倍数
- 求最大公约数和最小公倍数
- 求最大公约数和最小公倍数
- 求最大公约数和最小公倍数
- 求最大公约数和最小公倍数
- 求最小公倍数和最大公约数
- 求最大公约数和最小公倍数
- 求最大公约数和最小公倍数
- 求最大公约数和最小公倍数
- 求最大公约数和最小公倍数
- 求最大公约数和最小公倍数
- 基础权限控制设计
- GYM 101147 J.Whistle's New Car(dfs)
- Java ThreadPoolExecutor 简单剖析
- 一周快讯 | 机智云魅力
- 手把手教会你Android手机QQ和微信防撤回
- 求最大公约数和最小公倍数(利用递归实现)
- 生成图片验证码
- C++作业3
- android防止按钮二次点击
- CCNA笔记
- 多线程基础学习第二篇(多个线程多把锁)
- vim 被加密了,解密
- Sqlmap注入技巧收集
- PAT (Advanced Level) Practise 1128 N Queens Puzzle (20)