4 / 4 / 0
Регистрация: 27.12.2010
Сообщений: 56
1

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

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

Подскажите пожалуйста молодому-неопытному как проверить в С++ чётное число или нечётное? Есть какя-то специальная функция?
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.02.2011, 15:33
Ответы с готовыми решениями:

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

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

Определить для целого числа его четность и нечетность, для дробного - целую часть
Написать программу, которая для введенного числа определяет для целого числа его четность и...

Четность/нечетность
Как определить четность/нечетность числа (использовать остаток от деления нацело (%) и другие...

17
Freelance
Эксперт С++
2886 / 1821 / 356
Регистрация: 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
   //не четное
6
332 / 306 / 155
Регистрация: 14.02.2010
Сообщений: 662
04.02.2011, 15:38 3
C++
1
if (a%2==0) cout<<"Chetnoe!" else cout<<"Nechetnoe";
1
101 / 88 / 7
Регистрация: 17.12.2010
Сообщений: 416
04.02.2011, 15:49 4
а если в двоичном виде глянуть.
если младший бит 1 - нечетное. если 0 - четное.
2
392 / 284 / 53
Регистрация: 26.12.2009
Сообщений: 874
04.02.2011, 17:48 5
C++
1
2
unsigned long long int a = 15;
cout << (a%2 ? "Ne chetnoe" : "Chetnoe...") << endl;
0
Freelance
Эксперт С++
2886 / 1821 / 356
Регистрация: 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
392 / 284 / 53
Регистрация: 26.12.2009
Сообщений: 874
04.02.2011, 17:53 7
asics,
исправил...
0
13 / 13 / 2
Регистрация: 25.10.2009
Сообщений: 32
04.02.2011, 19:22 8
Можно еще(оптимальней) так:
C++
1
2
3
4
if(chislo&1)
printf("nechetn");
else 
printf("chetn");
0
599 / 567 / 104
Регистрация: 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
Freelance
Эксперт С++
2886 / 1821 / 356
Регистрация: 09.09.2010
Сообщений: 3,841
04.02.2011, 22:00 10
panicwassano, Это одно и тоже, просто когда пишу для себя, всегда пишу так(всмисле с логическим not), а прировнял к нулю, потому что так читабильней и понятней для новичка.
1
4201 / 1793 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
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
64 / 64 / 12
Регистрация: 05.07.2010
Сообщений: 219
04.02.2011, 22:56 12
taras atavin, да? а почему не так?
C++
1
2
int a = 3;
(a % 2)? /*не четное*/: /*четное*/
0
13 / 13 / 2
Регистрация: 25.10.2009
Сообщений: 32
04.02.2011, 23:52 13
люди не пойму зачем использовать оператор %, если лучше &.Например в 8086 операция 'и' - не менше 3 тактов, операция деления ('div') - не менше 90 тактов.Помойму мой вариант оптимальный(особенно если надо находить много четных или нечетных чисел).
1
599 / 567 / 104
Регистрация: 07.11.2010
Сообщений: 2,004
05.02.2011, 02:42 14
Цитата Сообщение от slavich Посмотреть сообщение
люди не пойму зачем использовать оператор %, если лучше &.Например в 8086 операция 'и' - не менше 3 тактов, операция деления ('div') - не менше 90 тактов.Помойму мой вариант оптимальный(особенно если надо находить много четных или нечетных чисел).
для новичков проще %
0
В астрале
Эксперт С++
8045 / 4802 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
05.02.2011, 03:53 15
slavich, Да и разницы сейчас в скорости существенной это не даст.
0
101 / 88 / 7
Регистрация: 17.12.2010
Сообщений: 416
05.02.2011, 10:51 16
а мне нравится вариант slavish. просто, оригинально, быстро.
0
5 / 5 / 1
Регистрация: 17.05.2010
Сообщений: 108
14.06.2011, 09:59 17
Есть число типа double. Необходимо округлить его до двух знаков после запятой, и сделать его дробную часть четным. т.е 1.96 1.98 2 2.02 2.04 как решить сию проблему?
0
0 / 0 / 0
Регистрация: 03.03.2017
Сообщений: 1
03.03.2017, 23:00 18
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
//Полный код, кому нужно разбирайте ;)
 
#include <iostream>
using namespace std;
void main() {
    setlocale(LC_ALL, "ukr");
    int a;
    cout << ("-Введите число:");
    cin >> a;
    if (a % 2 == 0)
    {
        cout << ("-Ето чётное число \n");
    }
    else
    {
        cout << ("-Ето Нечётное число \n");
    }
    system("pause");
}
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
03.03.2017, 23:00
Помогаю со студенческими работами здесь

Четность-нечетность вещественных чисел на C/C++
Кто-нибудь подскажите, как сделать проверку на условие четности-нечетности у вещественного числа на...

Четность, нечетность наборов чисел
Нужно вывести на экран набор чисел по четным и нечетным ПОЗИЦИЯМ (не сами числа) например: (3 8)...

Четность/нечетность строк в двумерном массиве
Подскажите, пожалуйста, как получить условие в двумерном массиве на четность/нечетность строк. Не...

Проверка элемента одномерного массива на нечетность, вычисление числа нечетных элементов
Помогите, пожалуйста, с задачей: Создать объектный тип данных-вектор, который имеет указатель на...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru