Я пытаюсь выполнить онлайн-упражнение, в котором просим нас вычислить наименьшее общее кратное n чисел. Запись дает нам число, представляющее n чисел, которые появятся на следующей строке, а затем строку с числами, которые мы должны использовать для вычисления lcm.
Онлайн-судья запускает Openjdk1.7 и с код здесь выставлен я получаю 0,09 секунд выполнения. Я видел парня, который получает 0,008 с java.
Не могли бы вы помочь мне улучшить производительность моего решения?
Спасибо!
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Problema381 {
public static void main(String[] args) throws IOException {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
int x = Integer.valueOf(reader.readLine());
int res, temp, aaux, bux, a, b;
while(x != 0) {
res = 1;
String[] strs = reader.readLine().trim().split("\\s+");
for (int j = 0; j < x; j++) {
temp = 1;
aaux = res;
a = aaux;
bux = Integer.valueOf(strs[j]);
b = bux;
do {
temp = bux;
bux = aaux % bux; // % is remainder
aaux = temp;
} while (bux != 0);
res = a * (b / temp);
}
System.out.println( res );
x = Integer.valueOf(reader.readLine());
}
reader.close();
}
}