Скромное число - это число, чьи единственные простые множители - 2,3,5,7. Это означает, что если вы берете все «простые числа» от 0 до n / 2, только 2,3,5,7 должны делить их.
Вместо этого вы берете все числа от 0 до n / 2 и проверяете, являются ли они факторами.
Следовательно, в вашем случае, когда я = 9, утверждение
if (n% i == 0) возвращает значение true и, следовательно, возвращает false, выполняется.
Запустите свой внешний цикл на i только для простых чисел вместо всех чисел от 0 до n / 2, и все будет в порядке.