В основном, направления идут так:
- Введите положительное целое число больше 3 (n)
- Программа должна вывести все возможные пары положительных целых чисел больше одного, произведение которых ‹= на введенное число (n)
Вот пример вывода:
Enter an integer: 24
4 = 2 x 2
6 = 2 x 3
8 = 2 x 4
10 = 2 x 5
12 = 2 x 6
14 = 2 x 7
16 = 2 x 8
18 = 2 x 9
22 = 2 x 11
24 = 2 x 12
9 = 3 x 3
12 = 3 x 4
15 = 3 x 5
18 = 3 x 6
21 = 3 x 7
24 = 3 x 8
16 = 4 x 4
20 = 4 x 5
24 = 4 x 6
(Примечание: товары могут появляться более одного раза, но пары не должны)
Для моего решения я начал с определения факторов n следующим образом:
public static void main(String[] args){
Scanner keyboard = new Scanner(System.in);
int factors = 0;
System.out.println("Enter integer:");
int n = keyboard.nextInt();
for(int i = 2; i <=n ; i++) {
if(n % i == 0) {
System.out.println(i);
}
}
Оттуда, кажется, я должен вытащить каждый фактор и умножить его на приращенную переменную, начиная с 2, пока он не будет равен или превысит (n). Я начал думать, что, может быть, это неправильно, поэтому вместо этого я попробовал что-то вроде этого:
Scanner keyboard = new Scanner(System.in);
System.out.println("Enter integer:");
int n = keyboard.nextInt();
int index = 2;
int multiplier = 2;
int result = 0;
while(result < n) {
result = multiplier * index;
System.out.println(result);
index++;
}
Что работает, но только для result 4 - 24
, поскольку множитель никогда не увеличивает два 3. Является ли фактическое решение просто гибридом этих возможных решений? Руководство в правильном направлении будет оценено, спасибо!
n
. Просто найдите числа, которые умножаются на произведение меньшее, чемn
. - person Code-Apprentice   schedule 16.03.2017