Автокликер Clickermann :: Форум

Основной раздел => Общие вопросы => Topic started by: Hito on June 28, 2018, 12:38:38 PM

Title: Как проверить - четное число, или нет?
Post by: Hito on June 28, 2018, 12:38:38 PM
$number=$number/2
Как проверить - $number целым числом стал, или нет?
???
Title: Re: Как проверить - четное число, или нет?
Post by: Hito on June 28, 2018, 01:19:21 PM
Code: (clickermann) [Select]
$a=9
$b=$a/2
IF(STRPOS($b,".")>0)
   LOGWRITE ($a," - не четное число")
END_IF

Как-то покрасивее это можно вычислить?
Title: Re: Как проверить - четное число, или нет?
Post by: open_78 on June 28, 2018, 01:27:23 PM
Ответ по названию темы.
Code: (clickermann) [Select]
IF($number/2=INT($number/2))
   PRINT("Чет")
ELSE
   PRINT("Нечет")
END_IF
Title: Re: Как проверить - четное число, или нет?
Post by: open_78 on June 28, 2018, 01:30:14 PM
А это по вопросу в первом посте
Code: (clickermann) [Select]
IF($number=ROUND($number,0))
   PRINT("Целое")
ELSE
   PRINT("Нет")
END_IF
P.S. Не путайте целые и четные числа.
Title: Re: Как проверить - четное число, или нет?
Post by: Hito on June 28, 2018, 01:42:06 PM
Ответ по названию темы.
Code: (clickermann) [Select]
IF($number/2=INT($number/2))
   PRINT("Чет")
ELSE
   PRINT("Нечет")
END_IF
Норм!
Title: Re: Как проверить - четное число, или нет?
Post by: Hito on June 28, 2018, 01:45:37 PM
P.S. Не путайте целые и четные числа.
Тут как бы просто одно из другого вытекает )
Title: Re: Как проверить - четное число, или нет?
Post by: Johnny on June 29, 2018, 04:27:51 PM
более быстрый код через битовые операции
Code: (clickermann) [Select]
$var = rnd(1, 9999)

$is_odd = $var and 1

if($is_odd == 1)
  print($var, " нечетное")
else 
  print($var, " четное")
end_if 

waitms(100)
Title: Re: Как проверить - четное число, или нет?
Post by: Oraven on June 29, 2018, 06:41:16 PM
Меньше строк, еше быстрее  :D

Code: (clickermann) [Select]
$number=$number/2
if($number and 1 = 1)
   print($number, " нечетное")
else
   print($number, " четное")
end_if
Title: Re: Как проверить - четное число, или нет?
Post by: Атеист on June 29, 2018, 07:15:15 PM
Без лишних операций сравнения будет работать еще быстрее.
Например, запись if($number and 1 = 1) ... Зачем сравнивать логическое выражение  еще с чем то? Оно итак вернет ложь или истину, без доп сравнений. Понятно, что такая запись наглядней. Но if($number and 1) будет работать быстрее чем if($number and 1 = 1).
Title: Re: Как проверить - четное число, или нет?
Post by: Hito on June 29, 2018, 08:27:05 PM
Че-то пошли какие-то функции, которые я первый раз вижу... ))
Title: Re: Как проверить - четное число, или нет?
Post by: Атеист on June 29, 2018, 08:48:43 PM
http://crapware.aidf.org/forum/index.php?topic=1134.0
Title: Re: Как проверить - четное число, или нет?
Post by: Hito on June 29, 2018, 08:56:14 PM
http://crapware.aidf.org/forum/index.php?topic=1134.0
Ох... Как это все сейчас для меня сложно...