HDU 1108

最小公倍数

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

Problem Description
给定两个正整数,计算这两个数的最小公倍数。
 
Input
输入包含多组测试数据,每组只有一行,包括两个不大于1000的正整数.
 
Output
对于每个测试用例,给出这两个数的最小公倍数,每个实例输出一行。
 
Sample Input
10 14
 
Sample Output
70
呵呵,看到了刚开始学习代码的时候的题目了,就尝试做一下,用比刚学习时的更简洁的代码来求,刚开始学习的时候用的方法是用欧几里得算法先求出两个数的最大公约数,然后用两数的乘积除以最大公约数即为最小公倍数,现在用了一种更简洁的代码,两个数中的大数,从乘以1,2,3...开始,得到的数一旦能被小的那个数整除,就是最小公倍数,呵呵
#include <stdio.h>
int main()
{
    int n,m;

    while(scanf("%d%d",&n,&m)==2)
    {
        int i;
        for(i=1;;i++)
        {
            if(((n*i)%m)==0)
                break;
        }
        printf("%d\n",n*i);
    }

    return 0;
}
View Code

 

posted on 2013-07-16 02:07  Forgiving  阅读(135)  评论(0编辑  收藏  举报