Проверить Четность
Добрый вечер. Подскажите, как проверить четность. мой вариант if (i % 2 = 0 ) компилятор не принимает - Error on line 2: Bad left-hand side of assignment
|
Cesdo, когда сравниваете нужно использовать '==', например
if (a == b) { // код } А '=' нужно использовать при присвоении, например var a = b ; |
приехали
Цитата:
|
ахахахах, Hekumok, спасибо большое!)
|
И Дзен-трансгуманист
|
var a = 2; if ( a & 1 ) { alert( "нечетно" ); } else { alert( "четно" ); } var a = 235; if ( a & 1 ) { alert( "нечетно" ); } else { alert( "четно" ); }но это для целых чисел |
devote, как-то сложно.
if( a%2 ) alert('нечет') |
Цитата:
|
Цитата:
|
Цитата:
|
devote, насколько я знаю, понятие чётности относится только к целым числам, не?
|
Цитата:
bes, да Math.isEven = function( num ) { return !( num & 1 ); }; Math.isOdd = function( num ) { return !!( num & 1 ); }; alert( Math.isEven( 11 ) ); alert( Math.isOdd( 11 ) ); |
Цитата:
|
Цитата:
Math.isEven = function( num ) { return !( num & 1 ); }; Math.isOdd = function( num ) { *!* return !Math.isEven(num); */!* }; не сдержался :) Цитата:
|
Цитата:
|
Цитата:
|
Цитата:
не знаю как в js, но в других ЯП такую оптимизацию делает компилятор/интерпретатор x % 2 == 0 => x & 1 |
Цитата:
Цитата:
|
Цитата:
Цитата:
а альтернативные пути через биты приходят уже со временем. |
Цитата:
|
Цитата:
Цитата:
Цитата:
Цитата:
|
Если не знаешь решения, но знаешь определение чётности/нечётности, то первый способ логично первым приходит на ум, так как напрямую отображает это определение, а если знаешь решение (оба способа), то какая разница, какой из них использовать (оба не сильно затратные).
|
Цитата:
|
Цитата:
|
Часовой пояс GMT +3, время: 17:23. |