2014-10-11 5 views
-4

Я использую мир роботов для задания. мы должны добраться до робота, чтобы ехать на север 8 мест, затем на восток 6 мест. когда мы доберемся до того, что у робота есть выбор. если есть четное число звуков, которые видят, что робот должен смотреть на север и перемещать одну ячейку. если есть нечетное количество звуковых сигналов, тогда оно должно быть обращено к югу и перемещать его. Я не знаю, какую команду дать роботу в исходном коде. моя программа работает, когда я простоНечетное или четное число в выражении if

if(beeperPresent)) { 
    turnLeft(); 
    move(); 
} else { 
    turnRight(); 
    move(); 
} 

ответ

1

Eoin, эффективный способ вычисления четные или чисел использовать оператор по модулю. Это очень просто.

if (number % 2 == 0) numberIsEven 
if (number % 2 != 0) numberIsOdd 

Вы могли бы использовать эту логику в вашем коде, чтобы вычислить, если четное или нечетное число пейджеров.

1

Пример:

int number1 = 1; 
int number2 = 2; 

if (number1 % 2 == 0) { 
    // You won't get here 
} 

if (number2 % 2 == 0) { 
    // You will get here 
} 

"%" называется по модулю, и возвращает остальные разделения.

  • 3% 2, остальные 3/2 составляет 1, так что вы знаете, что это странно
  • 4% 2, остальные из 4/2 является 0, так что вы знаете, что даже
0

Я думаю, что вы делаете курс методологии программирования в Стэнфордском университете и имеете свое задание на Кареле. Приятно видеть это. Возвращаясь к вашей проблеме, для этого случая вы можете использовать счетчик, чтобы проверить, сколько присутствующих beepers (изначально установлено на Zero, просто увеличивайте счетчик, если вы выбираете звуковой сигнал). Выберите beepers, пока все не будут подняты. Затем, наконец, проверьте, делится ли счетчик на 2 или нет, чтобы проверить его четный или нечетный.

Смежные вопросы