1661 - 最小公倍数
时间限制 : 1 秒
内存限制 : 32 MB
给定两个正整数,计算这两个数的最小公倍数。
题目输入
输入包含多组测试数据,每组只有一行,包括两个不大于1000的正整数。
题目输出
对于每个测试用例,给出这两个数的最小公倍数,每个实例输出一行。
输入/输出样例
输入格式
20 15
输出格式
60
C语言解答
#include<stdio.h> int gcd(int x, int y){ if(x%y==0) return y; else return gcd(y, x%y); } int main(){ int x, y, g; while(scanf("%d%d", &x, &y)==2){ g=gcd(x, y); printf("%d\n", x*y/g); } return 0; }
C++解答
#include<stdio.h> int main() { int a,b,k,t,i; while(scanf("%d%d",&a,&b)!=EOF) { if(a<b) { k=a; a=b; b=k; } t=a*b; while(b!=0) { i=a%b; a=b; b=i; } printf("%d\n",t/a); } return 0; }
Java解答
import java.util.Scanner; /** * Created with IntelliJ IDEA. * User: Worshiper * Date: 13-10-28 * Time: 下午10:52 */ public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); while (in.hasNext()) { int a = in.nextInt(); int b = in.nextInt(); System.out.println(a * b / solve(a, b)); } } private static int solve(int i, int j) { if (j == 0) return i; return solve(j, i % j); } }