求最小公倍数
#include<stdio.h>int gcd(int a,int b)
{
if(b==0) return a;
else return gcd(b,a%b);
}
int main()
{
int n,i;
int a,b,k;
while(scanf("%d",&n)!=EOF)
{
scanf("%d",&a);
for(i=1;i<n;i++)
{
scanf("%d",&b);
k=gcd(a,b);
a=a*b/k; // 这不能AC
}
printf("%d\n",a);
}
}
#include<stdio.h>
int gcd(int a,int b)
{
if(b==0) return a;
else return gcd(b,a%b);
}
int main()
{
int n,i;
int a,b,k;
while(scanf("%d",&n)!=EOF)
{
scanf("%d",&a);
for(i=1;i<n;i++)
{
scanf("%d",&b);
k=gcd(a,b);
a=a/k*b; //这个能AC
}
printf("%d\n",a);
}
}
帮忙解析一下。
[ 本帖最后由 Baoshenglin 于 2013-4-30 10:20 编辑 ]