Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 208, средняя оценка - 4.88
Romiys
3 / 3 / 0
Регистрация: 27.12.2010
Сообщений: 56
#1

Проверка числа на чётность/нечётность - C++

04.02.2011, 15:33. Просмотров 36112. Ответов 17
Метки нет (Все метки)

Подскажите пожалуйста молодому-неопытному как проверить в С++ чётное число или нечётное? Есть какя-то специальная функция?
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.02.2011, 15:33
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Проверка числа на чётность/нечётность (C++):

Проверка числа типа double на чётность/нечётность - C++
В программе необходимо проверить число типа double на то, является оно четным или нет. Это возможно как-то сделать или нет? Обычный метод,...

Итератор и проверка на чётность/нечётность - C++
Добрый день. Не получается организовать проверку на нечётное количество. При вводе нечётного количества данных программа выдаёт ошибку....

Проверка числа на чётность - C++
Какой из этих способов работает быстрее if (!(a%2)) или if (!(a&1))

Проверка введенного числа на чётность - C++
Написать программу, которая проверяет, является ли введенное пользователем целое число четным. Хэлп ми плз )

Не могу понять, как работает проверка на нечётность - C++
Программа призвана выводить на консоль элементы массива с нечётными значениями. Проверка на нечётность здесь весьма нетрадиционна....

Проверка чисел на чётность или наоборот, дальнейший вывод - C++
Написать программу, в которой вводятся 3 числа: А,В,С. Если среди них имеется хотя бы одно четное вычислить максимальное, иначе –...

17
asics
Freelance
Эксперт С++
2848 / 1783 / 144
Регистрация: 09.09.2010
Сообщений: 3,841
04.02.2011, 15:37 #2
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Romiys,
C++
1
2
3
4
5
int a = 3;
if(a % 2 == 0)
   //четное
else
   //не четное
5
MegaAce
330 / 304 / 65
Регистрация: 14.02.2010
Сообщений: 662
04.02.2011, 15:38 #3
C++
1
if (a%2==0) cout<<"Chetnoe!" else cout<<"Nechetnoe";
1
no0ker
101 / 88 / 4
Регистрация: 17.12.2010
Сообщений: 416
04.02.2011, 15:49 #4
а если в двоичном виде глянуть.
если младший бит 1 - нечетное. если 0 - четное.
2
Mayonez
380 / 272 / 21
Регистрация: 26.12.2009
Сообщений: 875
04.02.2011, 17:48 #5
C++
1
2
unsigned long long int a = 15;
cout << (a%2 ? "Ne chetnoe" : "Chetnoe...") << endl;
0
asics
Freelance
Эксперт С++
2848 / 1783 / 144
Регистрация: 09.09.2010
Сообщений: 3,841
04.02.2011, 17:52 #6
Mayonez, Вы имели введу так
C++
1
2
unsigned long long int a = 15;
cout << ( !(a%2) ? "Chetnoe..." : "Ne chetnoe") << endl;
0
Mayonez
380 / 272 / 21
Регистрация: 26.12.2009
Сообщений: 875
04.02.2011, 17:53 #7
asics,
исправил...
0
slavich
12 / 12 / 1
Регистрация: 25.10.2009
Сообщений: 32
04.02.2011, 19:22 #8
Можно еще(оптимальней) так:
C++
1
2
3
4
if(chislo&1)
printf("nechetn");
else 
printf("chetn");
0
panicwassano
592 / 560 / 20
Регистрация: 07.11.2010
Сообщений: 2,004
04.02.2011, 21:48 #9
asics вместо сравнения с 0 лучше наверно так записать
C++
1
2
3
4
5
int a = 3;
if(!(a % 2))
   //четное
else
   //не четное
1
asics
Freelance
Эксперт С++
2848 / 1783 / 144
Регистрация: 09.09.2010
Сообщений: 3,841
04.02.2011, 22:00 #10
panicwassano, Это одно и тоже, просто когда пишу для себя, всегда пишу так(всмисле с логическим not), а прировнял к нулю, потому что так читабильней и понятней для новичка.
1
taras atavin
3570 / 1753 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
04.02.2011, 22:15 #11
Цитата Сообщение от panicwassano Посмотреть сообщение
C++
1
2
3
4
5
int a = 3;
if (!(a % 2))
 //четное
else
 //не четное
Тогда уж лучше так:

C++
1
2
3
4
5
int a = 3;
if (a % 2)
 //не четное
else
 //четное
0
st_dent
64 / 64 / 3
Регистрация: 05.07.2010
Сообщений: 219
04.02.2011, 22:56 #12
taras atavin, да? а почему не так?
C++
1
2
int a = 3;
(a % 2)? /*не четное*/: /*четное*/
0
slavich
12 / 12 / 1
Регистрация: 25.10.2009
Сообщений: 32
04.02.2011, 23:52 #13
люди не пойму зачем использовать оператор %, если лучше &.Например в 8086 операция 'и' - не менше 3 тактов, операция деления ('div') - не менше 90 тактов.Помойму мой вариант оптимальный(особенно если надо находить много четных или нечетных чисел).
1
panicwassano
592 / 560 / 20
Регистрация: 07.11.2010
Сообщений: 2,004
05.02.2011, 02:42 #14
Цитата Сообщение от slavich Посмотреть сообщение
люди не пойму зачем использовать оператор %, если лучше &.Например в 8086 операция 'и' - не менше 3 тактов, операция деления ('div') - не менше 90 тактов.Помойму мой вариант оптимальный(особенно если надо находить много четных или нечетных чисел).
для новичков проще %
0
ForEveR
В астрале
Эксперт С++
7983 / 4742 / 321
Регистрация: 24.06.2010
Сообщений: 10,543
Завершенные тесты: 3
05.02.2011, 03:53 #15
slavich, Да и разницы сейчас в скорости существенной это не даст.
0
05.02.2011, 03:53
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.02.2011, 03:53
Привет! Вот еще темы с ответами:

Определить чётность числа - C++
Кто чем может Зачет скоро, а все сам сделать не успеваю. Все задания этого пункта нужно выполнить, используя оператор switch. 1....

Как проверить значение на нечётность и отрицательность? - C++
Как проверить значение на нечётность и отрицательность? if((i&gt;0)&amp;&amp;(i%(-2)==0)) return Invalid; else ...

Чётность трёх чисел - C++
Помогите пожалуйста написать программу, которая выводит &quot;Да&quot; или &quot;Нет&quot; в зависимости от того имеют ли три заданных числа одинаковую...

Возведение числа в степень и проверка числа на четность - C++
Добрый вечер что то вообще не понял эту тему помогите пожалуйста С помощью директивы #define написать следующие макросы: a) возведение...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru