Общее кратное число, оптимизация

131
27 августа 2019, 15:10

Есть программа, которая работает, но числа long очень долго думает, а иногда и не все выписывает. Условия : программа должна работать пока не вводится 0 или число меньше нуля, программа должна из двух чисел посчитать их самый большой множитель и самое меньшее кратное число. Так вот, кратное число программа не всегда выписывает и я не понимаю почему. А ещё она очень долго думает. Можно ли как-то этот процесс ускорить? Хочу попросить не сильно переделывать программу.

import java.util.Scanner;
public class DelitelNasobek {
static Scanner sc = new Scanner(System.in);
public static void main(String[] args) {
    boolean ok = true;
    do{
    int number = sc.nextInt();
    if(number>0){
        int number2 = sc.nextInt();
        int min=number, max=number2;
    if(number>number2){
        max=number;
        min=number2;
    }
    for (long i = min; i >= 1; i--) {
        if(number%i==0 && number2%i==0){
            System.out.print(i + " ");
            break;
        }
    }
    for (long i = max; i <=min*max ; i+=max) {
        if(i%number==0 && i%number2==0){
            System.out.print(i);
            break;
        }
    } 
        System.out.println("");
    }else ok = false;
    }while(ok); 
}

}

Answer 1
  1. Используем алгоритм Евклида для подсчёта наибольшего общего делителя.
  2. Первое число делим на gcd и умножаем на второе. Именно в таком порядке, чтобы по возможности избежать переполнения.
READ ALSO
Как подставить имя метода программно?

Как подставить имя метода программно?

Смысл в том, что в зависимости от получаемых методом GET параметрах сервлетом необходимо выполнить тот или иной метод - getN1FromDB, getN2FromDB и тд

103
Start/Stop SVG анимация

Start/Stop SVG анимация

Я хотел бы использовать эту красивую SVG-анимацию, размещенную на CodePen, но я не могу понять, как запустить или перезапустить анимацию:

119
Загрузка истории Commet Server

Загрузка истории Commet Server

Где-то со вчерашнего дня в чате на моем сайте, работающем при помощи Commet Server не работает функция

115
Как передать POST в модальное окно?

Как передать POST в модальное окно?

Есть форма с одним полем и модальное окно bootstrap-4Подскажите как передать данные с формы методом POST в модальное окно? Если можно с примером...

123