#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int gcd(int a,int b)
{
int temp;
while(a%b)
{
temp=a;
a=b;
b=temp%b;
}
return b;
}
char x[100000000];
int y[100000000];
main()
{
int a,b,c,temp1,time;
int lcm;
while(gets(x)!=0)
{
if(x[0]=='0'&&strlen(x)==1) break;
time=0;temp1=0;lcm=1;
for(c=0;c<=strlen(x);c++) /*不存在X[strlen(c)]*/
{
if(x[c]<=57&&x[c]>=48)
temp1=temp1*10+x[c]-48;
else
{y[time]=temp1;time++;temp1=0;}
}
for(c=0;c<time;c++)
{
a=y[c];
lcm=lcm/gcd(lcm,a)*a;
}
printf("%d\n",lcm%1000000000);
}
return 0;
}
我先切割數字,存到陣列,在提陣列的值出來做最小公倍數
for(c=0;c<=strlen(x);c++)