Проверить Четность
Добрый вечер. Подскажите, как проверить четность. мой вариант 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, время: 23:47. |