满意答案
sd3189964
2013.04.15
采纳率:56% 等级:12
已帮助:10124人
我什么也没做 只是你 int 范围太小了 我用了unsigned
也就是32位整数问题
#include
unsigned int zuida(unsigned int a,unsigned int b)
{
unsigned int min=a
unsigned int i;
unsigned int zuidagongyue=1;
for(i=1;i<=min;i++)
{
if((a%i==0)&&(b%i==0))
zuidagongyue=i;
else;
}
return zuidagongyue;
}
unsigned int zuixiao(unsigned int a,unsigned int b)
{
return a*b/zuida(a,b);
}
unsigned int main(unsigned int argc, char *argv[])
{
unsigned int a,b,pretmp,tmp;
unsigned int n,i;
while(scanf("%d",&n)!=EOF)
{
pretmp=1;tmp=1;
for(i=0;i
{
scanf("%d",&pretmp);
tmp=zuixiao(tmp,pretmp);
}
printf("%ld\n",tmp);
}
return 0;
}
00分享举报