Привет, люди, я сделал код для вычисления наибольшего общего делителя из 2-х чисел.Я сделал код для вычисления наибольшего общего делителя, но есть проблема
Это хорошо работает, но я получаю много выходов. Я хочу получить наибольшую производительность, но я не знаю, как это исправить?
Что мой код делает это здесь: вы вводите 2 целых числа. Первое целое число должно быть больше второго. Теперь сначала проверьте код второго целого. Разделяется ли оно на 1, 2, 3, 4, 5, .. Затем код проверяет все рабочие числа с первым номером. В итоге у нас наибольший общий делитель.
И до того, как код сделает все это, он проверяет, сначала ли второе число делит (в случае второго - gcd).
Теперь моя проблема: Давайте ввод 36 и 14. Мой код даст OUTPUT
1
2
Но как я могу избежать код печатать все другие рабочие номера? Я только хочу напечатать наибольший рабочий номер, но не знаю, как реализовать это в моем коде? Я также не хочу копировать другой код, потому что я все сделал сам и горжусь:
import java.util.Scanner;
public class Testit{
public static void main(String[] args){
Scanner input = new Scanner(System.in);
double x = input.nextDouble();
double y = input.nextDouble();
double first=0;
first=x/y;
if(first==(int)first){
System.out.println((int)y);
return;
}
else{
for(double i=1; i<x && i<y; i++){
double sum=0;
sum=y/i;
if(sum==(int)sum){
double temp=0;
temp=x/i;
if(temp==(int)temp){
System.out.println((int)i);
}
}
}
}
}
}
Просто для записи ... поскольку я дал вам этот первый намек; подумайте о том, чтобы мой ответ тоже понравился ... как только вы достигнете уровня поддержки. Uups, вы только что сделали ;-) – GhostCat
@GhostCat Эй, кот, я даю тебе верх, потому что вчера я тренируюсь, но теперь я снова благодарю тебя за ответ на мой другой вопрос !! – mogulba
Не стесняйтесь завтра. Сегодня я уже попал в ежедневную кепку; с другой стороны: просто делайте то, что работает для вас. Один upvote не имеет особого значения ;-) – GhostCat