首页 > 代码库 > hdu 1108 最小公倍数 (GCD & LCA)

hdu 1108 最小公倍数 (GCD & LCA)

最小公倍数

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


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

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

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

Sample Input
10 14
 

Sample Output
70





解题思路:很简单的一个知识点,最小公倍数LCA(a, b) =  (a * b)/ GCD(a, b).




AC代码:

#include <stdio.h>
#include <string.h>
#include <iostream>
#include <algorithm>
#include <vector>
#include <queue>
#include <set>
#include <map>
#include <string>
#include <math.h>
#include <stdlib.h>
#include <time.h>
using namespace std;
#define INF 0x7fffffff

int gcd(int a, int b){            
    return !b ? a : gcd(b, a%b);
}

int main()
{
    #ifdef sxk
        freopen("in.txt","r",stdin);
    #endif
    int a, b;
    while(scanf("%d%d",&a, &b)!=EOF)
    {
        printf("%d\n", a*b/gcd(a, b));
    }
    return 0;
}



hdu 1108 最小公倍数 (GCD & LCA)