之前见过一特别简单的代码,

先把我最喜欢的这段求多个数的最小公倍数的代码写下:

#include <iostream>
#include <string.h>
#define N 21
using namespace std;
long long f(long long a,long long b)
{
     return b ? f(b,a%b) : a;
}
int main()
{
    long long a[N];
    int n;
    while(cin>>n&&n)
    {
        long long maxn=1;
        for(int i=0;i<n;i++)
            cin>>a[i];
        for(int i=0;i<n;i++)
            maxn=maxn*a[i]/f(maxn,a[i]);
        cout<<maxn<<endl;
    }
    return 0;
}

也就20行…
话说我第一次写的时候,是这样的,先求前两个的最小公倍数,再求它和第三个数的。开了3个数组,太水了,代码真心拿不出手。
……

加油!

0
Posted in ACM

Leave a Comment:

电子邮件地址不会被公开。