Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Visual c++ как проверить чётное число или нет?

Raitek Ученик (74), закрыт 9 лет назад
Дополнен 9 лет назад
sum%2==0
так?
Лучший ответ
Николай Веселуха Высший разум (370789) 9 лет назад
int number;
cin >> number;
if (number & 1) cout << "нечётное\n";
if (~number & 1) cout << "чётное\n";
RaitekУченик (74) 9 лет назад
с этим я разорался)) мой вариант ведь тоже катит)))
RaitekУченик (74) 9 лет назад
кстати а ~ для чего?
Николай Веселуха Высший разум (370789) инвертировать биты, т. е. нули заменить единицами и наоборот
миша ромовПрофи (588) 9 лет назад
во-первых, если человек задает такой вопрос, то неплохо бы указать что нужно писать не "cin", а "std::cin", ибо будет ошибка компилятора. Потом не каждый компилятор по умолчанию умеет выводить русский текст, поэтому нужно еще написать и такую строчку: setlocale(LC_ALL, "Russian");
Далее, зачем делать вторую проверку с инвертированием битов? если уж мы "взяли планку" побитных операций, то давай экономить на максимум и писать else. Далее, где же getch? Пользователь же без него может не успеть увидеть результата!
миша ромов Профи (588) А вообще... не очень хорошо использовать тут тип int, вдруг кто введет чисало 9999999999999999999 и будет переполнение. Поэтому лучше вводить в строковую переменную s, и проверять последний символ на принадлежность к множеству {0,2,4,6,8}... ох, как же вы задолбали, ламеры....
Остальные ответы
Виктор К Мастер (2302) 9 лет назад
Ну, смысл ты верно ухватил.
Freeloader Оракул (83513) 9 лет назад
число&1
или число%2==0
В первом случае проверяется на НЕчетное число, во втором - на четное.
RaitekУченик (74) 9 лет назад
причём тут 1?
Freeloader Оракул (83513) младший бит. Если он равен 1, то число нечетное.
RaitekУченик (74) 9 лет назад
а в первом разве не % надо?
Freeloader Оракул (83513) Нет, используется побитовая И, а не остаток от деления.
Похожие вопросы