【程序16】 题目:输入两个正整数m和n,求其最大公约数和最小公倍数

发布时间:2016-12-9 0:29:23 编辑:www.fx114.net 分享查询网我要评论
本篇文章主要介绍了"【程序16】 题目:输入两个正整数m和n,求其最大公约数和最小公倍数",主要涉及到【程序16】 题目:输入两个正整数m和n,求其最大公约数和最小公倍数方面的内容,对于【程序16】 题目:输入两个正整数m和n,求其最大公约数和最小公倍数感兴趣的同学可以参考一下。

方法一: 非递归的: #include <stdio.h> int main(){ int a,b,t,n; while(~scanf("%d%d",&a,&b)){ n = a*b; if(a>b){ t = a; a = b; b = t; } while(a){ t = a; a = b%a; b = t; } printf("%d %d\n",b,n/b); } return 0; } 方法二: 递归的: #include <stdio.h> int gcd(int a,int b){return a?gcd(b%a,a):b;} int main(){ int a,b,c; while(~scanf("%d%d",&a,&b)){ if(a>b)c = gcd(b,a); else c = gcd(a,b); printf("%d %d\n",c,a/c*b); } return 0; }

上一篇:【程序15】 题目:利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。
下一篇:Minigui学习--MAINWINCREATE 结构体

相关文章

相关评论