题目:
最小公倍数 |
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) |
Total Submission(s): 3609 Accepted Submission(s): 2596 |
Problem Description 给定两个正整数,计算这两个数的最小公倍数。 |
Input 输入包含多组测试数据,每组只有一行,包括两个不大于1000的正整数. |
Output 对于每个测试用例,给出这两个数的最小公倍数,每个实例输出一行。 |
Sample Input 10 14 |
Sample Output 70 |
Source POJ |
Recommend Eddy |
题目分析:
简单题。两个数的最小公倍数等于两个数的乘积/两个数的最大公约数。
举例:12和8的最大公约数为4
12×8/4=24
两数的最小公倍数是24
代码如下:
/*
* a.cpp
*
* Created on: 2015年1月30日
* Author: Administrator
*/
#include <iostream>
#include <cstdio>
using namespace std;
/**
* 求最大公约数
*/
int gcd(int a,int b){
int temp;
while(b != 0){
temp = b;
b = a%b;
a = temp;
}
return a;
}
/**
* 求最小公倍数
*/
int lcm(int a,int b){
return a*b/gcd(a,b);//a与b的最小公倍数等于a与b的乘积/a与b的最大公约数
}
int main(){
int a,b;
while(scanf("%d%d",&a,&b)!=EOF){
printf("%d\n",lcm(a,b));
}
return 0;
}