Я пытаюсь решить следующую проблему. Поиск чисел (два) в форме GCD и LCM (не обязательно правильно) Если данные GCD и LCM верны, мне нужно найти соответствующие два числа из них. В противном случае GCD и LCM не верны, и, конечно, не существует соответствующих номеров.
Вот как я пытаюсь подойти. И это не правильное решение. Как я должен подходить к этому правильно.
[Примечание: не стесняйтесь комментировать на любом языке программирования или дайте мне знать алгоритм]
public class GCD_LCM {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int a,b;
a = scan.nextInt();
b = scan.nextInt();
int number = num(a,b);
if(number==-1){
System.out.println(number);
}else {
int fn =number;
int sn =(a*b)/fn;
System.out.println(fn+" "+sn);
}
}
private static int num (int gcd, int lcm){
int a =0;
if(lcm>=gcd*2){
for(int i =2; i<lcm/2; i++){
if(lcm%i ==0){
a = lcm/i;
}
}
return a;
}
return -1;
}
}