Есть пара вещей, которыми я хотел бы поделиться: во-первых, математика, число всегда считается фактором само по себе, поэтому одним из изменений будет проверка j<i
, обновленная до j<=i
внутри вас, вложеннаядля, но если вы сделали это намеренно, то вам не нужно обновлять его.
Кроме этого, математика, кажется, в порядке, еще одна вещь, чтобы посмотреть, как работает ваш блок if, ваша проверка на счетдолжен выходить за пределы проверки для фактора, т. е. if(i % j == 0)
, и в этом отношении даже вне второго цикла for
, так как разрыв выведет вас за пределы цикла for, к которому он применяется, поскольку вам нужно полностью остановить итерацию, т.е.число не должно совпадать, как только вы получите первое число с 9 факторами, вам нужно держать разрыв в первом цикле for.
Ваш окончательный код должен выглядеть примерно так:
public class Main
{
public static void main(String[] args) {
for(int i = 1; i <= 100; i++) {
int count = 0;
System.out.print("Factors of " + i + ": ");
for(int j = 1; j <= i; j++) {
if(i % j == 0) {
System.out.print(j + " ");
count++;
}
}
System.out.println("\n");
if (count >= 9) {
break;
}
}
}
}
Надеюсь, это поможет !!