Спасибо за ваши ответы и комментарии.
Теперь я хорошо понимаю, как проверить, является ли целое число нечетным. Например, этот метод представляет собой удобный способ выполнить этот тест без использования операторов умножения, модуля или деления:
protected boolean isOdd(int i) {
return ( (i&1) == 1);
}
С вашей помощью я теперь понимаю, что проблема намного проще, чем я ожидал. Вот остальная часть моей реализации в Java. Комментарии и критика приветствуются.
protected boolean isOddProduct(int[] arr) {
int oddCount = 0;
if (arr.length < 2)
throw new IllegalArgumentException();
for (int i = 0; i <= arr.length-1; i++) {
if (isOdd(arr[i]))
oddCount++;
}
return oddCount > 1;
}
Интересно, существуют ли другие способы выполнить этот тест без использования *,% или / операторов? Может быть, я задам этот вопрос в новой теме.