forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Delphi (http://forum.boolean.name/forumdisplay.php?f=66)
-   -   Проверка на нечётность . (http://forum.boolean.name/showthread.php?t=11268)

Ganociy 02.12.2009 12:56

Проверка на нечётность .
 
Как в паскале проверить является ли число в массиве не чётным ?

Жека 02.12.2009 13:02

Ответ: Проверка на нечётность .
 
синтаксис паскаля не знаю, но легко сделать с модулем.
псевдокод такой:
Код:

if(value mod 2 = 0)
  //число чётное
else
  //число нечётное

операция mod там есть точно.

Hurrit 02.12.2009 13:42

Ответ: Проверка на нечётность .
 
Объясняю принцип работы товарища Жека, если не понятно. Делим число на два и получаем остаток, если он равен нулю, наше число четно, если же не равен нулю, соответственно, число нечетно

impersonalis 02.12.2009 14:52

Ответ: Проверка на нечётность .
 
Можно проверить ложность младшего бита

SBJoker 02.12.2009 15:05

Ответ: Проверка на нечётность .
 
Можно сложить с нечётным числом и если получится чётное то исходное число было нечетным и наоборот. :crazy:

impersonalis 02.12.2009 15:09

Ответ: Проверка на нечётность .
 
Для чисел больше единицы можно ввыполнить проверку на степень двойки - если верно, то число чётное.
формула:
!(х & (х-1))
//условие необязательное, правда: все степени 2ки чётные, но е все чётные - степени 2ки

SBJoker 02.12.2009 15:26

Ответ: Проверка на нечётность .
 
для чётных целых чисел результат деления нацело будет равен результату деления с дробью.
Так же результат деления - целое число.
Так же сложение любого количества четных чисел даст чётное число, с нечётными такое не проходит.

impersonalis 02.12.2009 16:08

Ответ: Проверка на нечётность .
 
XOR чётного с любым нечётным даст нечётное
Код:

SeedRnd(MilliSecs())
For i=1 To 10
        a%=2*Rand(1,100)+1
        b%=2*Rand(1,100)
        c%=a Xor b
        Print c
Next
WaitKey()


ViNT 02.12.2009 16:42

Ответ: Проверка на нечётность .
 
Че-то вы навертели...
PHP код:

chet:=odd(a); 

если true, значит нечетное, если false, значит четное.

Ganociy 02.12.2009 18:08

Ответ: Проверка на нечётность .
 
Цитата:

Сообщение от ViNT (Сообщение 127981)
Че-то вы навертели...
PHP код:

chet:=odd(a); 

если true, значит нечетное, если false, значит четное.

А можно по подробнее

ViNT 02.12.2009 18:37

Ответ: Проверка на нечётность .
 
Цитата:

Сообщение от Ganociy (Сообщение 127988)
А можно по подробнее

В смысле поподробнее?
Допустим, есть массив A из N элементов и Memo, в который будем выводить данные о четности каждого элемента - одна строка - один элемент. Тогда будет так:

PHP код:

for i:= 1 to N do
 if 
odd(A[i]) then
  Memo1
.Lines.Add('Элемент '+inttostr(i)+' нечетный')
 else
  
Memo1.Lines.Add('Элемент '+inttostr(i)+' четный'); 

Вот и все.


Часовой пояс GMT +4, время: 17:56.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot