HDOJ 1108 最小公倍数

来源:互联网 发布:公文的阅知范围 编辑:程序博客网 时间:2024/05/16 16:38

最小公倍数

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 44716    Accepted Submission(s): 24905


Problem Description
给定两个正整数,计算这两个数的最小公倍数。
 

Input
输入包含多组测试数据,每组只有一行,包括两个不大于1000的正整数.
 

Output
对于每个测试用例,给出这两个数的最小公倍数,每个实例输出一行。
 

Sample Input
10 14
 

Sample Output
70
 定义函数求出最大公约数,利用它们的关系求解出最小公倍数
#include<stdio.h>#include<stdlib.h>#include<math.h>int gcd(int x,int y) { //定义函数,求最大公约数int remainder,max,min;max=x>y? x:y;min=x<y? x:y;while(min!=0) {remainder=max%min;max=min;min=remainder;}return max;}int main() {int a,b,c,lcm;while(scanf("%d%d",&a,&b)!=EOF) {c=gcd(a,b);lcm=a*b/c;printf("%d\n",lcm);}return 0;}/**/

另外的解法
#include<stdio.h>int gcd(int x,int y){int max,min;max=x>y? x:y;min=x<y? x:y;if(min==0) return max;return gcd(min,max%min);}int main() {int a,b,s;int lcm;while(scanf("%d%d",&a,&b)!=EOF) {s=a*b;lcm=s/gcd(a,b);printf("%d\n",lcm);}return 0;}


0 0
原创粉丝点击