【数学基础】多个数的最小公倍数

来源:互联网 发布:论文中的财务报表数据 编辑:程序博客网 时间:2024/05/22 06:41

多个数的最小公倍数

Time Limit 1000ms

Memory Limit 65536K

description

给定n(n<=10)个正整数,你的任务就是求它们的最小公倍数,所有数据的范围均在long long内。

input

输入数据有多组,每组2行,第一行为n,表示要输入数字的个数,接下来第二行有n个正整数。

output

输出一个数,即这n个数的最小公倍数。

sample_input

52 4 6 8 10213 26

sample_output

12026

#include <stdio.h>#include <stdlib.h>#define MAX 15long long gcd(long long m,long long n);long long lcm(long long a,long long b);main(){    long long n;    long long m[MAX];    while(scanf("%lld",&n)!=EOF)    {        long long i,j;        long long LCM;        for(i=0;i<n;i++)            scanf("%lld",&m[i]);        if(n==1)            LCM=m[0];        else        {            LCM=lcm(m[0],m[1]);        for(j=2;j<n;j++)        {            LCM=lcm(LCM,m[j]);            }        }        printf("%lld\n",LCM);    }return 0;}long long gcd(long long m,long long n){    if(m%n==0)        return n;    else        return gcd(n,m%n);}long long lcm(long long a,long long b){    return a/gcd(a,b)*b;}


0 0
原创粉丝点击