69,371
社区成员
发帖
与我相关
我的任务
分享
#include<stdio.h>
int function(int n,int m)
{
int s;
if(n<m)
{
s=n;
n=m;
m=s;
}
s=1;
while(m!=0)
{
s=n%m;
n=m;
m=s;
}
return n;
}
int main()
{
int s,i,x,y,n;
while(scanf("%d",&x)!=EOF)
{
s=1;
for(i=0;i<x;i++)
{
scanf("%d",&y);
n=function(s,y);
s=s*y;
}
printf("%d\n",s/n);
}
return 0;
}
Description
求n个数的最小公倍数。
Input
输入包含多个测试实例,每个测试实例的开始是一个正整数n,然后是n个正整数。
Output
为每组测试数据输出它们的最小公倍数,每个测试实例的输出占一行。你可以假设最后的输出是一个32位的整数。
Sample Input
2 4 6
3 2 5 7
Sample Output
12
70
Source
ZJGSU
1 #include <stdio.h>
2 int gcd (int u,int v) {
3 int temp;
4 if(u<0||v<0) {
5 u = -1;
6 return u;
7 }
8 while (v!=0) {
9 temp = u%v;
10 u=v;
11 v=temp;
12 }
13 return u;
14 }
15 int lcm (int u,int v) {
16 int result;
17 result=(u*v)/gcd(u,v);
18 return result;
19 }
20 int main (void) {
21 int u,v;
22 int gcd (int u,int v);
23 int lcm (int u,int v);
24
25 printf ("Enter two digit:\n");
26 scanf ("%i %i",&u,&v);
27
28 printf ("%i and %i's Least Common Digit is:%i\n",u,v,lcm(u,v));
29 return 0;
30 }
#include<stdio.h>
int function(int n,int m)
{
int s;
if(n<m)
{
s=n;
n=m;
m=s;
}
s=1;
while(m!=0)
{
s=n%m;
n=m;
m=s;
}
return n;
}
int main()
{
int s,i,x,y,n;
while(scanf("%d",&x)!=EOF)
{
s=1;
for(i=0;i<x;i++)
{
scanf("%d",&y);
n=function(s,y);
s=s/n*y;
}
printf("%d\n",s);
}
return 0;
}