首页 > 代码库 > 两种方法求最大公约数最小公倍数
两种方法求最大公约数最小公倍数
<pre name="code" class="cpp">/* *coyright(c)2014 龙城无泪 *All rights reserved *文件名称 digui.c *作者:封尘之魂 *完成日期:20141108 *版本号V1.0 *问题描述:求两个整数的最大公约数最小公倍数 *输入描述:输入两个整数 *输出描述:成功输出最大公约数最小公倍数 */ #include<stdio.h> int main() {int m,n,q,t,j,k; scanf("%d%d",&m,&n); j=m;k=n;if(m<n)//比较大小 {t=m; m=n; n=t; } q=m%n; while(q)//辗转相除法 {m=n; n=q; q=m%n; } printf("%d %d",n,j*k/n); }
第二种循环
#include<stdio.h> int z(int a, int b) { return b==0?a:z(b, a%b);//递归判断 } int main() { int a,b,m; scanf("%d%d",&a,&b); m=z(a,b); printf("%d %d", m,a*b/m); }
心得:一般来说用循环解决的问题都能用递归解决 要多运用递归来解决循环的问题来锻炼自己的思维问题
方法:代替 要熟练的掌握替换之法 把没用过量赋值给用过的量,实现自己想要达到的目标
两种方法求最大公约数最小公倍数
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。