Я полагаю, что вам нужны все Общие делители , которые можно разделить на каждое из случайно сгенерированных целочисленных значений и не оставить остатка. Делители обычно начинаются с 1 и постепенно (на 1) переходят к случайному значению a
и случайному значению b
. Конечно, обнаруженные общие делители сохраняются и позже отображаются, когда поиск по делителям выполнен.
Первый для l oop в приведенном ниже примере кода выполняет поиск делителя. Когда вы посмотрите на l oop, вы увидите разницу с вашим кодом. Вы были правы, предполагая , что вы должны изменить, чтобы обеспечить правильный тип делителей .
Итак, пример кода ниже:
- Генерирует два случайных целых числа значения от 100 (включительно) до 999 (включительно) согласно вашим спецификациям.
- Гарантирует, что случайное целое значение в переменной b больше, чем случайное целое значение в переменной
a
. A , в то время как l oop используется исключительно для этой конкретной c цели и только для этой цели. Условие l oop гарантирует, что значение в b
должно быть больше значения в a
, чтобы выйти из этого l oop. - Случайные значения отображаются на консоли.
- A для l oop используется как для значения в
a
, так и для значения в b
для получения Common Divisors . Обратите внимание, как это делается, обратите особое внимание на раздел terminating (или иначе называемый условием) оператора цикла for . Также обратите внимание на раздел initialization оператора l oop, вы можете видеть, что мы инициализируем целочисленную переменную от i
до 1 , а не 2. Любые определенные общие делители хранятся в Объект списка интерфейса с именем commonDivisors
. Целочисленная переменная с именем uncommonSum
также хранит сумму всех делителей, которые являются необычными, с помощью оператора else в блоке кода l oop. - Общие делители отображаются на консоли окно. Вы заметите, что 1 всегда является общим делителем. Это имеет смысл только потому, что любое число, деленное на единицу, будет равно этому числу без остатка.
- Наконец, для / каждого l oop используется для суммирования общих делителей, содержащихся в
commonDivisors
Список и результат помещаются в переменную Integer с именем commonDivisorsSum
, которая затем отображается в окне консоли.
Пример вывода в окно консоли может выглядеть следующим образом:
Random Numbers: --> A: 848 | B: 976
Common Divisors: --> [1, 2, 4, 8, 16]
Common Div Sum: --> 31
UnCommon Div Sum: --> 359945
Вот пример кода:
int a = new Random().nextInt(999 - 100 + 1) + 100;
int b = 0;
// Loop until the random number in b is greater than in a.
while (a >= b) {
b = new Random().nextInt(999 - 100 + 1) + 100;
}
//Display random generated integer values for A and B.
System.out.println("Random Numbers: --> A: " + a + " | B: " + b);
// Get Common Divisors between the two random integer values...
List<Integer> commonDivisors = new ArrayList<>();
int uncommonSum = 0;
for(int i = 1; i <= a && i <= b; i++) {
if(a % i == 0 && b % i == 0) {
commonDivisors.add(i);
}
else {
uncommonSum += i;
}
}
System.out.println("Common Divisors: --> " + commonDivisors);
// Get an display the sum of Common Divisors
int commonDivisorsSum = 0;
for (int i : commonDivisors) {
commonDivisorsSum = commonDivisorsSum + i;
}
System.out.println("Common Div Sum: --> " + commonDivisorsSum);
System.out.println("UnCommon Div Sum: --> " + uncommonSum);