Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Четность числа ?


PASZLIB ©   (2007-11-28 15:41:00) 

есть функция ?
проверяю так

var
r,x:byte;
begin
r:=a DIV 2;
x:=a*2;
if r=x then result:=true
        else result:=false;

выходит что все нечетные(  ((


Сергей М.   (2007-11-28 16:32:00) [1]


> PASZLIB   (28.11.07 16:23) [16]
>
> сначала думал мож так пойдет ?


Ты, блин, на рыбалке ?)


PASZLIB   (2007-11-28 16:23:00) [2]

clickmaker сначала думал мож так пойдет ?

else if a=4
else if a=6
else if a=8
....
else if a=200

а умножением сдвигом и смотрением битности не кошерно ),
главное работает [11]

вначале убрать
result:=false;
if a=2 then result:=true;


Anatoly Podgoretsky   (2007-11-28 16:16:00) [3]

> Сергей М.  (28.11.2007 15:50:07)  [7]

Мне интереснее что курит, грибы явно слабоваты.


clickmaker   (2007-11-28 16:09:00) [4]


> if a=2 then result:=true;

низачот.
где
else if a=4
else if a=6
else if a=8
..
а?


Сергей М.   (2007-11-28 16:07:00) [5]


> ЫЫЫ работает
>


Полны радости штаны)


@!!ex   (2007-11-28 16:05:00) [6]

> [9] Сергей М. ©   (28.11.07 15:56)

Иска - это не вопрос.
Я про то что в [0] написано.


PASZLIB   (2007-11-28 16:05:00) [7]

function TFishNode.Chetnoe(a:byte):bool;
var
r:real;
begin
result:=false;
if a=2 then result:=true;
r:=a DIV 2;

if r*2=a then result:=true
      else result:=false;
//result:=true;
end;

ЫЫЫ работает


Джо   (2007-11-28 15:58:00) [8]

> [8] @!!ex ©   (28.11.07 15:53)
> идиотизм... чессслово...
> Result:=x mod 2 = 0;

Зачем проверять «косвенно», когда в языке есть готовая функция Odd? которая, к тому же, compiler macig и инлайнится по месту вызова.


Сергей М.   (2007-11-28 15:56:00) [9]


> @!!ex ©   (28.11.07 15:53) [8]


Почему "идиотизм" ?

В общемслучае наложение маски выглядит привлекательней и действует быстрей, нежели операция получения остатка при ц/ч делении.


@!!ex   (2007-11-28 15:53:00) [10]

идиотизм... чессслово...
Result:=x mod 2 = 0;


Сергей М.   (2007-11-28 15:50:00) [11]


> снимаю


Стесняюсь спросить - чтоснимаешь ?)


clickmaker   (2007-11-28 15:48:00) [12]


> [5] PASZLIB   (28.11.07 15:48)
> снимаю дошло real надо

на уроки математики ходить надо было


PASZLIB   (2007-11-28 15:48:00) [13]

снимаю дошло real надо
работает


clickmaker   (2007-11-28 15:47:00) [14]


> выходит что все нечетные

Эврика! Бегом за нобелевкой


Jeer   (2007-11-28 15:45:00) [15]

Мда...

if ( x and 1) then // нечетно

О четности сам догадайся


Джо   (2007-11-28 15:45:00) [16]

Odd


Сергей М.   (2007-11-28 15:44:00) [17]

Двойка. "Низачот".


Наверх

Титульная страница Поиск, карта сайта Написать письмо