importjava.util.Scanner;publicclassMain{publicstaticvoidmain(String[]args){Scannersc=newScanner(System.in);intlcm=0,a;intn=sc.nextInt();while(n>0){intm=sc.nextInt();a=sc....
import java.util.Scanner;
public class Main{
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int lcm = 0, a;
int n = sc.nextInt();
while (n > 0) {
int m = sc.nextInt();
a = sc.nextInt();
lcm = a;
for (int i = 1; i < m; i++) {
a = sc.nextInt();
lcm = LCM(lcm, a);
}
System.out.println(lcm);
n--;
}
}
public static int LCM(int a, int b) {
int m;
m = a / GCD(a, b) * b;
return m;
}
public static int GCD(int a, int b) {
int c;
if (a == 0)
return b;
while (b != 0) {
c = b;
b = a % b;
a = c;
}
return a;
}
}
AC代码
import java.util.Scanner;
public class Main{
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int lcm = 0, b;
int n = sc.nextInt();
while (n > 0) {
int m = sc.nextInt();
int a = sc.nextInt();
for (int i = 1; i < m; i++) {
b = sc.nextInt();
lcm = LCM(a, b);
a = lcm;
}
System.out.println(lcm);
n--;
}
}
public static int LCM(int a, int b) {
int r, ta, tb;
ta = a;
tb = b;
r = ta % tb;
while (r > 0) {
ta = tb;
tb = r;
r = ta % tb;
}
return a / tb * b;
}
}
报错的
这两个有什么区别吗,运行结果都一样
问题的链接:http://acm.hdu.edu.cn/showproblem.php?pid=1019
展开