Составьте программу проверяющую что введенное число является четным или нечетным паскаль

Каков самый простой самый простой способ узнать, является ли число/переменная нечетной или даже PHP? Это как-то связано с модом? Я пробовал несколько скриптов, но.. Google не доставляет в настоящий момент.

user1022585 31 окт. 2011, в 19:22
Поделиться
mod — это общий сокращенный термин для ‘modulo’, он же модульная арифметика.
Marc B 31 окт. 2011, в 20:20

Поделиться:

14 ответов

Лучший ответ

Вы были правы, думая, что мода — хорошее место для начала. Вот выражение, которое вернет true, если $number равно, false, если нечетно:

$number % 2 == 0

Пример:

$number = 20; if ($number % 2 == 0)
Tim Cooper 31 окт. 2011, в 21:42
Поделиться

Если вы используете это в циклах или больших количествах, вы можете рассмотреть проверку битов, предложенную Arius2038, которая очень быстрая.

Бит-чек — мой предпочтительный метод для нечетных / четных проверок.

Martijn 03 июль 2013, в 09:48

Работает нормально, но мне просто интересно, какая логика стоит за этим? Почему задано значение true, если «10 == 0»?

Паскаль с нуля [ч10]. Вывод массива, задача с четными числами

snlan 24 сен. 2014, в 11:42

Логика в том, что любое четное число делится на 2 без остатка. Если бы вы использовали $ number% 10, а ваш $ number был 20, он вернул бы true, но не если бы ваш $ number был 22. Вы могли бы использовать $ number% 10, если вы пытались найти каждый 10-й элемент в цикле, например ,

crdunst 25 сен. 2014, в 15:33
Hendry Tanaka 23 окт. 2014, в 02:22
Joey Sabey 20 март 2015, в 14:25

Да, просто так, спасибо, кстати.
Hendry Tanaka 20 март 2015, в 14:29
Могу ли я предложить тройной = для улучшения дробной скорости: $number % 2 === 0
kasimir 11 июнь 2015, в 11:20
Показать ещё 5 комментариев

Другим вариантом является простая проверка бит.

n 1 ) < //odd >else < //even >
Pawel Dubiel 05 фев. 2012, в 23:26
Поделиться

Это определенно самый быстрый способ при использовании целых чисел в языке, подобном C, с большим отрывом. Кто-нибудь делал тесты, чтобы определить, верно ли это и для PHP?

thomasrutter 05 дек. 2013, в 00:03
Вероятно, это самый быстрый способ, если PHP-движок был хорошо закодирован.
Rolf 18 дек. 2013, в 16:19
Я бы сказал, что это самый быстрый и прямой путь.

Отлично.
Robbiegod 27 март 2014, в 19:03
kasimir 11 июнь 2015, в 11:25
Показать ещё 2 комментария

Читайте также:
Запись звонков Ватсап на Андроид лучшая программа

Да, используя мод

$even = ($num % 2 == 0); $odd = ($num % 2 != 0);
Aaron W. 31 окт. 2011, в 21:11
Поделиться

Другая опция — проверить, является ли последняя цифра четным числом:

$value = «1024»;// A Number $even = array(0, 2, 4, 6, 8); if(in_array(substr($value, -1),$even))< // Even Number >else < // Odd Number >

Чтобы сделать это быстрее, используйте isset() вместо array_search :

$value = «1024»;// A Number $even = array(0 => 1, 2 => 1, 4 => 1, 6 => 1, 8 => 1); if(isset($even[substr($value, -1)])< // Even Number >else < // Odd Number >

Или сделать его быстрее (время от времени mod operator )

C++ | Определение чётности или нечётности числа


$even = array(0, 2, 4, 6, 8); if(in_array(substr($number, -1),$even))< // Even Number >else < // Odd Number >

Вот тест времени в качестве доказательства моих результатов.

Subin 10 окт. 2013, в 17:35
Поделиться
To Downvoter: Могу ли я узнать, почему вы проголосовали?
Subin 03 март 2014, в 13:58
Это очень дорого по сравнению с другими методами.

grantwparks 22 апр. 2015, в 17:02
Subin 24 апр. 2015, в 05:37

Это не секунды в тесте, они на самом деле намного меньше. Так что на первый взгляд это звучит разумно. Но подумайте об этом: в результате мод вышел на 2.0xxxx единиц времени. В то время как isset вышел на 2.5xxxx единиц времени. Это увеличение времени выполнения на 25%. Насколько разумно это звучит сейчас;)

grantwparks 01 май 2015, в 15:40
Subin 03 май 2015, в 14:43
Subin 16 март 2016, в 03:26

Интересный способ мышления, хотя. Это в основном десятичная версия $num 1)
(bool)(~ $number -оператором мода является самым быстрым, за которым следует $before = microtime(true); for ($i=0; $i $after = microtime(true); echo $after-$before.» seconds mod
«; $before = microtime(true); for ($i=0; $i $after = microtime(true); echo $after-$before.» seconds is_int
«; $before = microtime(true); for ($i=0; $i $after = microtime(true); echo $after-$before.» seconds ;

Результаты, полученные мной, были довольно последовательными. Здесь образец:

0.041879177093506 seconds mod 0.15969395637512 seconds is_int 0.044223070144653 seconds » примерно на 10% быстрее, чем мод (проверено на массиве со случайными целочисленными значениями)

Pawel Dubiel 05 дек. 2013, в 09:08

Хотя все ответы являются правильными и правильными, простое решение в одной строке:

$check = 9;
echo ($check
echo ($check % 2 ? ‘Odd’ : ‘Even’);

работает очень хорошо.

Tarik 09 май 2016, в 16:25
Поделиться

Все четные числа, деленные на 2, приведут к целому числу

$number = 4; if(is_int($number/2)) < echo(«Integer»); >else
David S. 05 июль 2012, в 20:15
Поделиться
в то время как это будет работать, это не лучший способ сделать это
Niko Sams 10 окт. 2012, в 20:26

PHP преобразует нуль и пустую строку автоматически в нуль.

Читайте также:
Программа омега для производства описание

Это происходит и с модулем. Поэтому код

$number % 2 == 0 or !($number if(is_int($pArg) === true)< $p = ($pArg % 2); if($p== 0)< print «The input ‘».$pArg.»‘ is even.
«; >else< print «The input ‘».$pArg.»‘ is odd.
«; > >else< print «The input ‘».$pArg.»‘ is not a number.
«; > > The print is there for testing purposes, hence in practice it becomes: function testEven($pArg) < if(is_int($pArg)=== true)< return $pArg%2; >return false; >

Эта функция возвращает 1 для любого нечетного числа, 0 для любого четного числа и false, если это не число. Я всегда пишу === true или === false, чтобы позволить мне (и другим программистам) знать, что тест имеет такое же значение.

Loek Bergman 01 июнь 2015, в 10:01
Поделиться

Этот код проверяет, является ли число нечетным или даже в PHP. В примере $a есть 2 , и вы получите четное число. Если вам нужно нечетное значение, измените значение $a

$a=2; if($a %2 == 0)< echo «

This Number is $a Even

«; >else< echo «

This Number is $a Odd

«; >
Narendra Chauhan 12 янв. 2015, в 20:53
Поделиться

Я делаю предположение, что есть счетчик уже на месте. в $i, который увеличивается в конце цикла.

Это работает для меня, используя сокращенный запрос.

$row_pos = ($i

Итак, что он делает, ну, он запрашивает выражение, которое мы делаем, в сущности, $i является нечетным, в зависимости от того, будет ли его истинное или ложное решение о том, что возвращается. Возвращаемое значение заполняет нашу переменную $row_pos

Мое использование этого заключается в том, чтобы поместить его внутри цикла foreach, прямо перед тем, как он мне понадобится. Это делает его очень эффективным одним лайнером, чтобы дать мне соответствующие имена классов, потому что у меня уже есть счетчик для id использовать позже в программе. Это краткий пример того, как я буду использовать эту часть.

random data

Это дает мне нечетные и четные классы в каждой строке, поэтому я могу использовать правильный класс и нарисовать напечатанные результаты на странице.

Полный пример того, что я использую, отмечает, что идентификатор имеет счетчик, примененный к нему, и класс имеет мой нечетный/четный результат, примененный к нему.:

$i=0; foreach ($a as $k => $v) < $row_pos = ($i echo » — — n»; $i++; >

это дает мне очень простой способ создать симпатичную таблицу.

Источник: overcoder.net

Разработчику о работе с 1С:Предприятие, Pascal, Паскаль

Решение вопросов, возникающие при автоматизации учета с помощью 1С:Предприятие. Паскаль.

Pascal (Паскаль). Вывод чётных и нечётных чисел массива в Паскале. Способ первый.

05.05.2017 | Автор Дмитрий

Pascal (Паскаль). Вывод чётных и нечётных чисел массива в Паскале. Способ первый.
Четное число — это число, которое делится на 2 (два) без остатка. Если есть остаток — то число называется нечетным.
Используем функцию: mod, рассмотренную ранее.

Читайте также:
Какая программа открывает файлы ink

program Even_Task; //программа вывод чётных и нечётных чисел массива в Паскале const n = 10; var i, i_Num: integer; i_MasNum: array[1..n] of integer; begin //заполяем массив i_MasNum[1] := 5; i_MasNum[2] := 340; i_MasNum[3] := -14; i_MasNum[4] := 31; i_MasNum[5] := 18; i_MasNum[6] := 1033; i_MasNum[7] := 11; i_MasNum[8] := 120; i_MasNum[9] := 18; i_MasNum[10] := 81; for i := 1 to n do begin i_Num := i_MasNum[i] mod 2; if i_Num = 0 then Writeln(‘Четное число: ‘, i_MasNum[i]) else Writeln(‘Нечетное число: ‘, i_MasNum[i]); end; //завершение работы программы WriteLn(‘Нажмите , чтобы выйти.’); ReadLn(); end.

Вывод четных и нечетных чисел массива в Паскале.

Рубрика: Pascal (Паскаль) — задачи и решения

Источник: info1c.com

Задача — Посчитать четные и нечетные цифры числа — программирование на разных языках

Задача - Посчитать четные и нечетные цифры числа - программирование на разных языках

Задача — Посчитать четные и нечетные цифры числа
— программирование на Pascal, Си, Кумир, Basic-256, Python

Посчитать четные и нечетные цифры введенного натурального числа. Например, если введено число 34560, то у него 3 четные цифры (4, 6 и 0) и 2 нечетные (3 и 5).

  1. Присвоить переменным-счетчикам четных (even) и нечетных (odd) цифр значение 0.
  2. Пока введенное число не уменьшится до нуля выполнять нижеследующие действия:
  1. Если число четное (делится нацело на 2), значит последняя его цифра четная и надо увеличить на 1 переменную even.
  2. Иначе число нечетное и следует добавить 1 к переменной odd.
  3. Убрать последнюю цифру числа путем деления числа нацело на 10.

Pascal

var n: word;
even, odd: byte;
begin
readln(n);
even := 0;
odd := 0;
while n > 0 do begin
if n mod 2 = 0 then
even := even + 1
else
odd := odd + 1;
n := n div 10;
end;
writeln(‘четных ‘, even);
writeln(‘нечетных ‘, odd);
end. 56709
четных 2
нечетных 3

Язык Си

main() int n,even,odd;
scanf(«%d»,
even = 0; // четные
odd = 0; // нечет.
while (n>0) if (n%2 == 0) even += 1;
else odd += 1;
n = n/10;
>
printf(«четных — %d, нечетных — %dn», even, odd);
> 100238
четных — 4, нечетных — 2

Python

n = int(input())
even=odd=0
while n>0:
if n%2 == 0:
even += 1
else:
odd += 1
n = n//10
print(«четных — %d, нечетных — %d» % (even, odd)) 12098
четных — 3, нечетных — 2

КуМир

алг чет_нечет
нач
цел n, even, odd
ввод n
even := 0
odd := 0
нц пока n > 0
если mod(n,2) = 0 то even := even + 1
иначе odd := odd + 1
все
n := div(n,10)
кц
вывод «Четных: «, even, нс
вывод «Нечетных: «, odd
кон 308591
Четных: 2
Нечетных: 4

Basic-256

input n
even=0
odd=0
while n>0
if n%2 = 0 then
even = even + 1
else
odd = odd + 1
endif
n = n10
endwhile
print «Четных » + even
print «Нечетных » + odd 734721
Четных 2
Нечетных 4

Источник: ars-games.ru

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru